Автор: AuthorR
Дата сообщения: 13.04.2007 20:59
Приходилось ли кому-нибудь решать такую задачу:
определить заданную позицию (номер вхождения) заданного символа в текстовой строке внутри ячейки
например, имеем
ячейка A1 - текст (текст, для примера такой: Первая запятая, первое тире - вторая запятая, второе тире- третья запятая, третье тире-)
ячейка B1 - заданный символ, например "запятая" (,)
ячейка C1 - заданный номер вхождения, например, 2
Как (если это вообще возможно) получить формулой число-позицию при заданных условиях?
Решение для заданных условий (символ - "," номер вхождения - 2) число - 45
Вариант решения "по частям"
Ищется первое вхождение заданного символа
=ПОИСК(b1;a1)
Ищется второе вхождение
=ПОИСК(b1;a1;ПОИСК(b1;a1)+1)
Очевидно, что существенным недостатком такого решения является то, что: 1) во-первых, формула постоянно "растет"; 2) во вторых нигде не учтенео требование: задать номер вхождения.
Некоторые коментарии:
Если задан символ, которого нет в просматриваемом тексте, то 0, если задана позиция (например сотая), для существующего символа, но этот символ не встречается в просматриваемом тексте такое число раз, то возвращать номер последнего вхождения.