Формула Excel: подсчет определенных слов в диапазоне -

Содержание

Общая формула

=SUMPRODUCT((LEN(rng)-LEN(SUBSTITUTE(rng,txt,"")))/LEN(txt))

Резюме

Чтобы подсчитать, сколько раз конкретное слово (или любая подстрока) появляется внутри диапазона ячеек, вы можете использовать формулу, основанную на функциях ПОДСТАВИТЬ, LEN и СУММПРОИЗВ. В показанном примере формула в C11:

=SUMPRODUCT((LEN(B5:B8)-LEN(SUBSTITUTE(B5:B8,C2,"")))/LEN(C2))

Примечание. Формула на этой странице подсчитывает количество слов в диапазоне. Например, если ячейка содержит два экземпляра слова, она добавит 2 к общему количеству. Если вы просто хотите подсчитать ячейки, содержащие определенное слово, ознакомьтесь с этой простой формулой, основанной на функции СЧЁТЕСЛИ.

Объяснение

В универсальной версии формулы rng представляет диапазон для проверки, а txt - это слово или подстрока для подсчета.

В показанном примере B5: B8 - это диапазон для проверки, а C2 содержит текст (слово или подстроку) для подсчета.

Для каждой ячейки в диапазоне SUBSTITUTE удаляет подстроку из исходного текста, а LEN вычисляет длину текста без подстроки. Затем это число вычитается из длины исходного текста. Результат - количество символов, которые были удалены с помощью SUBSTITUTE.

Затем количество удаленных символов делится на длину подстроки. Итак, если подстрока или слово имеет длину 5 символов, а после удаления из исходного текста отсутствуют 10 символов, мы знаем, что подстрока / слово дважды появлялось в исходном тексте.

Поскольку приведенный выше расчет заключен в функцию СУММПРОИЗВ, результатом является массив, содержащий число для каждой ячейки в диапазоне. Эти числа представляют количество появлений подстроки в каждой ячейке. В этом примере массив выглядит так: (1; 1; 0; 1)

Наконец, SUMPRODUCT суммирует все элементы в массиве, чтобы получить общее количество вхождений подстроки в диапазоне ячеек.

Игнорирование дела

SUBSTITUTE - это функция с учетом регистра, поэтому она будет соответствовать регистру при выполнении подстановки. Если вам нужно подсчитать вхождения слова или подстроки как в верхнем, так и в нижнем регистре, используйте функцию UPPER внутри SUBSTITUTE, чтобы преобразовать текст в верхний регистр перед запуском подстановки:

=SUMPRODUCT((LEN(rng)-LEN(SUBSTITUTE((UPPER(rng)),UPPER(txt),"")))/LEN(txt))

Интересные статьи...