Wednesday, February 28, 2007

Расчет вхождений символа в ячейке Excel

Сегодня знакомый спопросил как в Excel вывести в соседней ячейке число вхождений некоторого символа в строке другой ячейки. Почитав документацию с удивлением обнаружил отсутствие такой функции в Excel 2003. Поиск в google'е (Извлечение чисел из строки) натолкнул на написание своей функции.

Засучив рукава, через несколько минут раздумий и проб наваял вот такую конструкцию:

=СУММ(ЕСЛИ(ПСТР(A1;ЕСЛИ(ЕНД(СТРОКА($1:$300)
);"";СТРОКА($1:$300));1)="s";1;0))


Вычисляет количество вхождений символа "s" в ячейке A1. Максимальное количество символов в ячейке 300.
Вставлять формулу в ячейку комбинацией Ctrl-Shift-Enter (а не Enter как обычно).