Как определить позицию символа в строке эксель
Перейти к содержимому

Как определить позицию символа в строке эксель

  • автор:

Как определить позицию символа в строке эксель

Argument ‘Topic id’ is null or empty

Сейчас на форуме

© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru

Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.

ООО «Планета Эксел»
ИНН 7735603520
ОГРН 1147746834949
ИП Павлов Николай Владимирович
ИНН 633015842586
ОГРНИП 310633031600071

Нахождение в EXCEL позиции n-го вхождения символа в слове

Предположим, в ячейке А5 имеется текстовая строка: МАМА МЫЛа РАМУ (см. файл примера ).

Формула: =НАЙТИ(СИМВОЛ(1);ПОДСТАВИТЬ(A5;»А»;СИМВОЛ(1);3)) найдет позицию третьего вхождения символа «А» с учетом регистра (9).

Рассмотрим подробнее. Функция ПОДСТАВИТЬ() заменяет третье вхождение символа «А» на символ с кодом ASCII =1 (заведомо нет в текстовой строке). Затем функция НАЙТИ() находит его и выводит его позицию. Если третьего вхождения не обнаружено, то будет выдана ошибка.

Формула без учета регистра: =НАЙТИ(СИМВОЛ(1);ПОДСТАВИТЬ(СТРОЧН(A5);»а»;СИМВОЛ(1);3))

О подсчете вхождений символов можно прочитать здесь .

Формула: =НАЙТИ(СИМВОЛ(1);ПОДСТАВИТЬ(A5;»МА»;СИМВОЛ(1);2)) найдет позицию второго вхождения подстроки «МА» с учетом регистра (3).

О подсчете вхождений последовательности символов можно прочитать здесь .

Функция ПОИСК() в EXCEL

Искомый_текст — текст, который требуется найти.

Просматриваемая_строка — текст, в которой ищется Искомый_текст .

Нач_позиция — позиция знака в просматриваемой_строке, с которой должен начинаться поиск. Если аргумент нач_позиция опущен, то предполагается значение 1.

В аргументе искомый_текст можно использовать подстановочные знаки — вопросительный знак (?) и звездочку (*). Вопросительный знак соответствует любому знаку; звездочка — любой последовательности знаков. Если нужно найти в тексте вопросительный знак или звездочку, следует поставить перед ними тильду (~).

Если искомый_текст не найден, возвращается значение ошибки #ЗНАЧ!

Функция ПОИСК() не учитывает РЕгиСТР букв. Для поиска с учетом регистра следует воспользоваться функцией НАЙТИ() .

Примеры

Формула =ПОИСК(«к»;»Первый канал») вернет 8, т.к. буква к находится на 8-й позиции слева.

Пусть в ячейке А2 введена строка Первый канал — лучший . Формула =ПОИСК(СИМВОЛ(32);A2) вернет 7, т.к. символ пробела (код 32) находится на 7-й позиции.

Формула =ПОИСК(«#. #»;»Артикул #123# ID») будет искать в строке » Артикул #123# ID » последовательность из 5 символов, которая начинается и заканчивается на знак #.

Чтобы найти позицию второго вхождения буквы «а» в строке «мама мыла раму» используйте формулу =ПОИСК(«а»;»мама мыла раму»;ПОИСК(«а»;»мама мыла раму»)+1). Чтобы определить есть ли третье вхождение буквы «м» в строке «мама мыла раму» используйте формулу =ЕСЛИ(ДЛСТР(ПОДСТАВИТЬ(«мама мыла раму»;»м»;»»;3))=ДЛСТР(«мама мыла раму»);»Нет третьего вхождения м»;»Есть третье вхождение м»)

Формула =ПОИСК(«клад?»;»докладная») вернет 3, т.е. в слове «докладная» содержится слово из 5 букв, первые 4 из которых клад (начиная с третьей буквы слова докладная ).

Функция НАЙТИ() vs ПОИСК()

Функция НАЙТИ() учитывает РЕгиСТР букв и не допускает использование подстановочных знаков. Для поиска без учета регистра, а также для поиска с использованием подстановочных знаков пользуйтесь функцией ПОИСК() .

Связь с функциями ЛЕВСИМВ() , ПРАВСИМВ() и ПСТР()

Функция ПОИСК() может быть использована совместно с функциями ЛЕВСИМВ() , ПРАВСИМВ() и ПСТР() .

Например, в ячейке А2 содержится фамилия и имя «Иванов Иван», то формула =ЛЕВСИМВ(A2;ПОИСК(СИМВОЛ(32);A2)-1) извлечет фамилию, а =ПРАВСИМВ(A2;ДЛСТР(A2)-ПОИСК(СИМВОЛ(32);A2)) — имя. Если между именем и фамилией содержится более одного пробела, то для работоспособности вышеупомянутых формул используйте функцию СЖПРОБЕЛЫ() .

покупка

Как найти n-е вхождение (позицию) символа в текстовой строке в Excel?

Например, в ячейке A1 есть длинное предложение, см. Следующий снимок экрана. И теперь вам нужно найти 3-е вхождение или позицию символа «c» из текстовой строки в ячейке A1. Конечно, вы можете посчитать символы по одному и получить точный результат позиции. Однако здесь мы собираемся представить несколько простых советов, как найти n-е вхождение или позицию определенного символа из текстовой строки в ячейке.

doc-find-n-позиция-текстовой-строки1

Найти n-е вхождение (позицию) символа в ячейке с помощью формулы поиска
Найти n-е вхождение (позицию) символа в ячейке с помощью VBA
Найти n-е вхождение (позицию) символа в ячейке с помощью Kutools for Excel

Найти n-е вхождение (позицию) символа в ячейке с помощью формулы поиска

Две формулы поиска помогут вам быстро найти n-е вхождение или позицию определенного символа в текстовой строке в ячейках.

Следующая формула покажет вам, как найти третье вхождение буквы «c» в ячейку A3.

Найди Формулу 1

В пустой ячейке введите формулу = НАЙТИ («c»; A1; НАЙТИ («c»; A1) +2) .

doc-find-n-позиция-текстовой-строки2

А затем нажмите Enter ключ. Отображается положение третьей буквы «c».

Внимание: Вы можете изменить 2 в формуле в зависимости от ваших потребностей. Например, если вы хотите найти четвертую позицию «c», вы можете изменить 2 на 3. А если вы хотите найти первую позицию «c», вы должны изменить 2 на 0.

Найдите формулу 2

В пустой ячейке введите формулу = НАЙТИ (СИМВОЛ (1); ПОДСТАВИТЬ (A1; «c»; СИМВОЛ (1); 3)) , и нажмите Enter .

Внимание: «3» в формуле означает третий «c», вы можете изменить его в зависимости от ваших потребностей.

Подсчитайте, сколько раз слово появляется в ячейке Excel
> Найти n-е вхождение (позицию) символа в ячейке с помощью VBA

Фактически, вы можете применить макрос VB, чтобы легко найти n-е вхождение или позицию определенного символа в одной ячейке.

Шаг 1: Удерживайте ALT + F11 ключи, и он открывает Microsoft Visual Basic для приложений окно.

Шаг 2: нажмите Вставить > Модулии вставьте следующий макрос в окно модуля.

VBA: найдите n-ю позицию символа.

Function FindN(sFindWhat As String, _ sInputString As String, N As Integer) As Integer Dim J As Integer Application.Volatile FindN = 0 For J = 1 To N FindN = InStr(FindN + 1, sInputString, sFindWhat) If FindN = 0 Then Exit For Next End Function

Шаг 3. Теперь, если вы хотите найти точное совпадение позиции третьей буквы «c» в ячейке A1, введите формулу = FindN («c»; A1,3) , и нажмите Enter ключ. Затем он сразу вернет точное положение в конкретной ячейке.

Найти n-е вхождение (позицию) символа в ячейке с помощью Kutools for Excel

Если вам не нравится ни формула, ни VBA, вы можете попробовать удобный инструмент — Kutools for Excel, С его Формула групп, можно найти утилиту — Найти n-е вхождение символа для быстрого возврата n-й позиции символа в ячейке.

После бесплатная установка Kutools for Excel, сделайте следующее:

1. Выберите ячейку, в которую вы хотите вернуть результат, и нажмите Кутулс > Формула Помощник > Формула Помощник . Смотрите скриншот:

2. Затем в всплывающем Формула Помощник диалог, сделайте как показано ниже:

1) Выбрать Поиск из раскрывающегося списка Тип формулы раздел;

2) Выберите Найдите место N-го символа в строке in Выберите формулу раздел;

3) Выберите ячейку, содержащую используемую строку, затем введите указанный символ и n-е вхождение в текстовые поля в Ввод аргументов .

3. Нажмите Ok. И вы получаете позицию n-го вхождения символа в строке.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *