Формула Excel: подсчет ячеек, содержащих определенный текст -

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

=COUNTIF(range,"*txt*")

Резюме

Для подсчета ячеек, содержащих определенный текст, вы можете использовать функцию СЧЁТЕСЛИ с подстановочным знаком. В показанном примере формула E5 выглядит так:

=COUNTIF(B5:B15,"*a*")

Объяснение

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

=COUNTIF(range,"a") // exact match

Однако обратите внимание, что это точное совпадение. Для подсчета ячейка должна содержать ровно «а». Если в ячейке есть другие символы, она не будет засчитана.

Для показанной проблемы мы хотим подсчитать ячейки, содержащие определенный текст, то есть текст может быть где угодно в ячейке. Для этого нам нужно использовать символ звездочки (*) в качестве подстановочного знака. Например, для подсчета ячеек, содержащих букву «а», мы используем:

=COUNTIF(range,"*a*")

Звездочка в формуле означает «соответствие любому количеству символов, включая ноль», поэтому этот шаблон будет считать любую ячейку, содержащую «a» в любой позиции, с другими символами слева или справа или без них. Все формулы, используемые в примере, следуют одному шаблону:

=COUNTIF(B5:B15,"*a*") // contains "a" =COUNTIF(B5:B15,"*2*") // contains "2" =COUNTIF(B5:B15,"*-S*") // contains "-s" =COUNTIF(B5:B15,"*x*") // contains "x"

Примечание. СЧЁТЕСЛИ не чувствительно к регистру.

Со ссылкой на ячейку

Вы можете легко настроить эту формулу, чтобы использовать в качестве критериев содержимое другой ячейки. Например, если A1 содержит текст, который вы хотите сопоставить, вы можете использовать:

=COUNTIF(range,"*"&A1&"*")

Считайте конкретные числа

Вышеуказанная формула СЧЁТЕСЛИ не будет работать, если вы ищете конкретное число, а ячейки содержат числовые данные. Это связано с тем, что подстановочный знак автоматически заставляет СЧЁТЕСЛИ искать только текст (т.е. искать «2» вместо только 2). Поскольку текстовое значение никогда не будет найдено в истинном числе, СЧЁТЕСЛИ вернет ноль.

Чтобы подсчитать определенное число в числовом содержании, вы можете использовать другую формулу, основанную на функции ПОИСК и функции ЕЧИСЛО, например:

=SUMPRODUCT(--(ISNUMBER(SEARCH(text,range))))

В этой формуле текст - это текст, который вы ищете, а диапазон - это диапазон ячеек, которые вы хотите подсчитать. Когда ПОИСК находит совпадение, он возвращает число, а функция ЕЧИСЛО преобразует его в значение ИСТИНА или ЛОЖЬ. Поскольку мы проверяем более одной ячейки, результатом будет массив или значения ИСТИНА и ЛОЖЬ. Двойное отрицание используется для преобразования значений ИСТИНА и ЛОЖЬ в единицы и нули, а функция СУММПРОИЗВ вернет сумму массива в качестве окончательного результата.

ПОИСК автоматически обрабатывает все числа как текст, поэтому он найдет, например, 1 в числе 201. Кроме того, нет необходимости использовать подстановочные знаки для обозначения позиции, поскольку ПОИСК автоматически просматривает весь текст в ячейке.

Версия с учетом регистра

Для подсчета с учетом регистра вы можете использовать формулу, основанную на функции НАЙТИ:

=SUMPRODUCT(--(ISNUMBER(FIND(text,range))))

Здесь функция НАЙТИ используется вместо ПОИСКА, потому что НАЙТИ чувствителен к регистру. В остальном формула работает так же, как формула ISNUMBER + FIND, описанная выше.

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