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

history

Находим позицию третьего, четвертого и т.д. вхождения символа в слове (в текстовой строке).


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

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

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

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

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

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

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


Комментарии

Только для авторизованных пользователей

Аноним, 26 марта 2019 г.
Никак не пойму)))) Есть срока "1231 12312 \ 1231 1212 \ 121312 1231231 123 1". Мне нужно вытащить, то что находится между \. ПО вашему методу не получается найти второе вхождение \. Подскажите как найти второе вхождение \
Михаил, 26 марта 2019 г.
День добрый, обновил файл примера, сделал лист Пример2. Там решена Ваша задача.
Аноним, 27 ноября 2019 г.
Здравствуйте! Помогите создать формулу Произведите замену знаков из содержимого ячейки (+739122232232 )c +7 на 8 с помощью функции ПОДСТАВИТЬ
Михаил, 27 ноября 2019 г.
Если у Вас текстовое значение, то используйте =ПОДСТАВИТЬ(F10;"+7";8) Подробности в статье https://excel2.ru/articles/funkciya-podstavit-v-ms-excel-podstavit Возможно, это пользовательский формат, тогда нужно поменять его через Формат ячеек https://excel2.ru/articles/polzovatelskiy-chislovoy-format-v-ms-excel-cherez-format-yacheek
(только для авторизованных пользователей)

© Copyright 2013 - 2024 Excel2.ru. All Rights Reserved