В этой статье мы сосредоточимся на функции Excel СЧËТЕСЛИ (COUNTIF в английском варианте), которая предназначена чтобы подсчитать количество ячеек, которые соответствуют определённому условию.

Сначала мы кратко рассмотрим синтаксис и общие подходы к использованию, а затем я приведу ряд примеров и предупрежу о возможных подводных камнях и проблемах при подсчете по нескольким критериям одновременно или же с определёнными типами данных.

Эти рекомендации и примеры вы можете использовать в любой версии Microsoft Excel.

Функция СЧЕТЕСЛИ в Excel применяется чтобы подсчитать количество ячеек в указанном диапазоне по заданному условию.

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

СЧËТЕСЛИ(диапазон; критерий)

Как видите, здесь только 2 аргумента, оба из которых являются обязательными:

  • диапазон - определяет одну или диапазон ячеек для подсчета. Вы помещаете его в формулу, как обычно, например, A1:A20.
  • критерий - определяет условие, которое определяет, что именно считать. Это может быть числотекстовая строкассылка или выражение. Например, вы можете употребить  следующие критерии: «10», A2, «>=10», «какой-то текст».

Что нужно обязательно запомнить?

  • В аргументе «критерий» условие всегда нужно записывать в кавычках, кроме случая, когда используется ссылка либо какая-то функция.
  • Любой из аргументов ссылается на диапазон из другой книги Excel, то эта книга должна быть открыта.
  • Регистр букв не учитывается.
  • Также можно применить знаки подстановки * и ? (о них далее – подробнее).
  • Чтобы избежать ошибок, в тексте не должно быть непечатаемых знаков.

Как видите, синтаксис очень прост. Однако, он допускает множество возможных вариаций условий, в том числе символы подстановки, значения других ячеек и даже другие функции Excel. По этой причине функция СЧЕТЕСЛИ является действительно мощной и пригодной для многих задач, как вы увидите в следующих примерах.

Количество ячеек с определенным текстом.

Давайте разбираться, как это работает. На рисунке ниже вы видите список заказов, выполненных менеджерами. Выражение  =СЧËТЕСЛИ(В2:В22,"Никитенко") подсчитывает количество, сколько раз этот работник присутствует в списке:

применение функции СЧЕТЕСЛИ для подсчета текстовых значений

Замечание. Критерий не чувствителен к регистру букв, поэтому можно вводить как прописные, так и строчные буквы.

Если ваши данные содержат несколько вариантов слов, которые вы хотите сосчитать, то вы можете использовать подстановочные знаки чтобы подсчитать количество всех ячеек, содержащих определенное слово, фразу или буквы, как часть их содержимого.

К примеру, в нашей таблице есть несколько заказчиков «Корона» из разных городов. Нам необходимо подсчитать общее количество заказов «Корона» независимо от города.

=СЧЁТЕСЛИ(A2:A22;"*Корона*")

алее мы хотели бы подсчитать количество заказов, где в наименовании заказчика встречается «корона» в любом регистре. Звездочка (*) используется для поиска ячеек с любой последовательностью начальных и конечных символов, как показано в приведенном выше примере. Если вам нужно заменить только какой-либо один символ, введите вместо него знак вопроса (?).

Кроме того, указывать условие прямо в формуле не совсем рационально, так как при необходимости подсчитать какие-то другие значения вам придется корректировать её. А это не слишком удобно.

Рекомендуется условие записывать в какую-либо ячейку и затем ссылаться на нее. Так мы сделали в H9. Также можно употребить подстановочные знаки со ссылками с помощью оператора конкатенации (&). Например, вместо того, чтобы указывать «*Коро*» непосредственно в формуле, вы можете записать его куда-нибудь, и использовать следующую конструкцию чтобы посчитать сколько ячеек содержит текст «Коро»:

=СЧЁТЕСЛИ(A2:A22;"*"&H8&"*")

Подсчет ячеек, начинающихся или заканчивающихся определенными символами

Вы можете употребить подстановочный знак звездочку (*) или знак вопроса (?) в зависимости от того, какого именно результата вы хотите достичь.

Если вы хотите подсчитать количество ячеек, которые начинаются или заканчиваются определенным текстом, независимо от того, сколько имеется других символов, используйте:

=СЧЁТЕСЛИ(A2:A22;"К*") - считать значения, которые начинаются с « К» .

=СЧЁТЕСЛИ(A2:A22;"*р") - считать заканчивающиеся буквой «р».

Если вы ищете количество ячеек, которые начинаются или заканчиваются определенными буквами и содержат точное количество символов, то поставьте вопросительный знак (?):

=СЧЁТЕСЛИ(С2:С22;"????д") - находит количество буквой «д» в конце и текст в которых состоит из 5 букв, включая пробелы.

=СЧЁТЕСЛИ(С2:С22,"??") - считает количество состоящих из 2 символов, включая пробелы.

Примечание. Чтобы узнать количество клеток, содержащих в тексте знак вопроса или звездочку, введите тильду (~) перед символом ? или *.

Например, =СЧЁТЕСЛИ(С2:С22,"*~?*") будут подсчитаны все позиции, содержащие знак вопроса в диапазоне С2:С22.

Подсчет чисел по условию

В отношении чисел редко случается, что нужно подсчитать количество их, равных какому-то определённому числу. Тем не менее, укажем, что записать нужно примерно следующее:

=СЧЁТЕСЛИ(D2:D22,10000)

Гораздо чаще нужно высчитать количество значений, больших либо меньших определенной величины.

Чтобы посчитать значения, которые большеменьше или равны указанному вами числу, вы просто добавляете соответствующий критерий, как показано в таблице ниже.

Обратите внимание, что математический оператор вместе с числом всегда заключен в кавычки .

Критерии

 

Описание

Если больше, чем

=СЧËТЕСЛИ(А2:А10;">5")

Подсчитайте, где значение больше 5.

Если меньше чем

=СЧËТЕСЛИ(А2:А10;">5")

Подсчет со числами менее 5.

Если равно

=СЧËТЕСЛИ(А2:А10;"=5")

Определите, сколько раз значение равно 5.

Если не равно

=СЧËТЕСЛИ(А2:А10;"<>5")

Подсчитайте, сколько раз не равно 5.

Если больше или равно

=СЧËТЕСЛИ(А2:А10;">=5")

Подсчет, когда больше или равно 5.

Если меньше или равно

=СЧËТЕСЛИ(А2:А10;"<=5")

Подсчет, где меньше или равно 5.

В нашем примере

=СЧЁТЕСЛИ(D2:D22;">10000")

Формула подсчитывает количество крупных заказов на сумму более 10 000. Обратите внимание, что условие подсчета мы записываем здесь в виде текстовой строки и поэтому заключаем его в двойные кавычки.

Вы также можете использовать все вышеприведенные варианты для подсчета ячеек на основе значения другой ячейки. Вам просто нужно заменить число ссылкой.

Замечание. В случае использования ссылки, вы должны заключить математический оператор в кавычки и добавить амперсанд (&) перед ним. Например, чтобы посчитать сколько чисел в диапазоне D2: D9, превышают значение из D3, используйте =СЧËТЕСЛИ(D2:D9,">"&D3)

Если вы хотите сосчитать записи, которые содержат математический оператор, как часть их содержимого, то есть символ «>», «<» или «=», то употребите в условиях подстановочный знак с оператором. Такие критерии будут рассматриваться как текстовая строка, а не числовое выражение.

Например, =СЧËТЕСЛИ(D2:D9,"*>5*") будет подсчитывать все позиции в диапазоне D2: D9 с таким содержимым, как «Доставка >5 дней» или «>5 единиц в наличии».

Число дат по условию

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

считаем количество дат по условию

Позвольте привести несколько примеров:

Критерии

 

Описание

Даты, равные указанной дате.

=СЧËТЕСЛИ(E2:E22;"01.02.2019")

Подсчитывает количество ячеек в диапазоне E2:E22 с датой 1 июня 2014 года.

Даты больше или равные другой дате.

=СЧËТЕСЛИ(E2:E22,">=01.02.2019")

Сосчитайте количество ячеек в диапазоне E2:E22 с датой, большей или равной 01.06.2014.

Даты, которые больше или равны дате в другой ячейке, минус X дней.

=СЧËТЕСЛИ(E2:E22,">="&H2-7)

Определите количество ячеек в диапазоне E2:E22 с датой, большей или равной дате в H2, минус 7 дней.

Помимо этих стандартных способов, вы можете употребить функцию СЧËТЕСЛИ в сочетании с функциями даты и времени, например, СЕГОДНЯ(), для подсчета ячеек на основе текущей даты.

Критерии

 

Равные текущей дате.

=СЧËТЕСЛИ(E2:E22;СЕГОДНЯ())

До текущей даты, то есть меньше, чем сегодня.

=СЧËТЕСЛИ(E2:E22;"<"&СЕГОДНЯ())

После текущей даты, т.е. больше, чем сегодня.

=СЧËТЕСЛИ(E2:E22;">"& ЕГОДНЯ ())

Даты, которые должны наступить через неделю.

= СЧËТЕСЛИ(E2:E22,"="&СЕГОДНЯ()+7)

В определенном диапазоне времени.

=СЧЁТЕСЛИ(E2:E22;">="&СЕГОДНЯ()+30)-СЧЁТЕСЛИ(E2:E22;">"&СЕГОДНЯ())

Как посчитать количество пустых и непустых ячеек

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

Непустые.

В некоторых руководствах по функции СЧEТЕСЛИ вы можете встретить предложения, подобные этомой формуле:

СЧËТЕСЛИ(диапазон;"*")

Но дело в том, что приведенное выше выражение подсчитывает количество только тех ячеек, которые содержат любые текстовые значения. А это означает, что те из них, где записаны даты и числа, будут обрабатываться как пустые (игнорироваться) и не войдут в общий итог!

Если вам нужно универсальное решение чтобы посчитать все непустые ячейки в указанном диапазоне, то введите:

СЧËТЕСЛИ(диапазон;"<>" & "")

Это корректно работает со всеми типами значений - текстом, датами и числами - как вы можете видеть на рисунке ниже.

подсчет количества пустых и непустых ячеек при помощи функции СЧЕТЕСЛИ

Также непустые ячейки в диапазоне можно подсчитать:

=СЧЁТЗ(E2:E22).

Пустые.

Если вы хотите сосчитать пустые позиции в определенном диапазоне, вы должны придерживаться того же подхода - используйте в условиях символ подстановки для текстовых значений и параметр “” чтобы посчитать количество пустых ячеек.

Считаем клетки, не содержащие текст:

СЧËТЕСЛИ( диапазон; "<>" & "*")

Поскольку звездочка (*) соответствует любой последовательности текстовых символов, в расчет принимаются клетки, не равные *, т.е. не содержащие текста в указанном диапазоне.

Считаем пустые ячейки (все типы значений):

=СЧЁТЕСЛИ(E2:E22;"")

Конечно, для таких случаев есть и специальная функция

=СЧИТАТЬПУСТОТЫ(E2:E22)

Но не все знают о ее существовании. Но вы теперь в курсе …

Как посчитать пустые ячейки и нулевые строки.

Также имейте в виду, что функции СЧЕТЕСЛИ и СЧИТАТЬПУСТОТЫ считают ячейки с пустыми строками, которые только на первый взгляд выглядят пустыми.

Что такое эти пустые строки? Они также часто возникают при импорте данных из других программ (например, 1С). Внешне в них ничего нет, но на самом деле это не так. Если попробовать найти такие "пустышки" (F5 -Выделить - Пустые ячейки) - они не определяются. Но фильтр данных при этом их видит как пустые и фильтрует как пустые.

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

Проблемы начинаются тогда, когда вы пытаетесь с ней произвести какие-то математические вычисления (вычитание, деление, умножение и т.д.). Получите сообщение об ошибке #ЗНАЧ!. При этом функции СУММ и СЧËТ их игнорируют, как будто там находится текст. А внешне там его нет.

И самое интересное - если указать на нее мышкой и нажать Delete (или вкладка Главная - Редактирование - Очистить содержимое) - то она становится действительно пустой, и с ней начинают работать формулы и другие функции Excel без всяких ошибок.

Если вы не хотите рассматривать их как пустые, используйте для подсчета реально пустых ячеек следующее выражение:

=ЧСТРОК(E2:E22)*ЧИСЛСТОЛБ(E2:E22)-СЧЁТЕСЛИ(E2:E22;"<>"&"")

что такое нулевые строки в Экселе

Откуда могут появиться нулевые строки в ячейках? Здесь может быть несколько вариантов:

  1. Он есть там изначально, потому что именно так настроена выгрузка и создание файлов в сторонней программе (вроде 1С). В некоторых случаях такие выгрузки настроены таким образом, что как таковых пустых ячеек нет - они просто заполняются строкой нулевой длины.
  2. Была создана формула, результатом которой стал текст нулевой длины. Самый простой случай:

=ЕСЛИ(Е1=1;10;"")

В итоге, если в Е1 записано что угодно, отличное от 1, программа вернет строку нулевой длины. И если впоследствии формулу заменять значением (Специальная вставка – Значения), то получим нашу псевдо-пустую позицию.

Если вы проверяете какие-то условия при помощи функции ЕСЛИ и в дальнейшем планируете производить с результатами математические действия, то лучше вместо "" ставьте 0. Тогда проблем не будет. Нули всегда можно заменить или скрыть: Файл -Параметры -Дополнительно - Показывать нули в позициях, которые содержат нулевые значения.

СЧЕТЕСЛИ с несколькими условиями

На самом деле функция СЧЕТЕСЛИ в Excel не предназначена для расчета количества ячеек по нескольким условиям. В большинстве случаев я рекомендую использовать ее множественный аналог - функцию СЧЕТЕСЛИМН. Она как раз и предназначена для вычисления количества ячеек, которые соответствуют двум или более условиям (логика И). Однако, некоторые задачи могут быть решены если объединить две или более функции СЧЕТЕСЛИ в одно выражение.

Посчитать количество чисел в диапазоне

Одним из наиболее распространенных применений функции СЧЕТЕСЛИ с двумя критериями является определение количества чисел в определенном интервале, т.е. меньше X, но больше Y.

Например, вы можете использовать для вычисления ячеек в диапазоне B2: B9, где значение больше 5 и меньше или равно 15:

Посчитать количество чисел в диапазоне

=СЧЁТЕСЛИ(B2:B11;">5")-СЧЁТЕСЛИ(B2:B11;">15")

Количество ячеек с несколькими условиями ИЛИ.

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

Количество ячеек с несколькими условиями ИЛИ

Сделаем это:

=СЧЁТЕСЛИ(A4:A13;"Лимонад")+СЧЁТЕСЛИ(A2:A11;"*сок")

Обратите внимание, что мы включили подстановочный знак (*) во второй критерий. Он используется для вычисления количества всех видов сока в списке.

Как вы понимаете, сюда можно добавить и больше условий.

Использование СЧЕТЕСЛИ чтобы посчитать дубликаты

Другое возможное использование функции СЧЕТЕСЛИ в Excel - для поиска дубликатов в одном столбце, между двумя столбцами или в строке.

1. Ищем дубликаты в одном столбце

Эта простое выражение СЧЁТЕСЛИ($A$2:$A$24;A2)>1 найдет все одинаковые записи в A2: A24.

А другая формула СЧЁТЕСЛИ(B2:B24;ИСТИНА) сообщит вам, сколько существует дубликатов:

формула СЧЕТЕСЛИ для подсчета дубликатов в столбце

Для более наглядного представления найденных совпадений я использовал условное форматирование значения ИСТИНА.

2. Подсчитать сколько совпадений между двумя столбцами

Сравним список2 со списком1. В столбце Е берем последовательно каждое значение из списка2 и считаем, сколько раз оно встречается в списке1. Если совпадений ноль, значит это уникальное значение. На рисунке такие выделены цветом при помощи условного форматирования.

посчитать количество совпадений между двумя столбцами

Выражение  =СЧЁТЕСЛИ($A$2:$A$24;C2) копируем вниз по столбцу Е.

Аналогичный расчет можно сделать и наоборот – брать значения из первого списка и искать дубликаты во втором.

Для того, чтобы просто определить количество дубликатов, можно использовать комбинацию функции СУММПРОИЗВ и функции СЧЕТЕСЛИ.

=СУММПРОИЗВ((СЧЁТЕСЛИ(A2:A24;C2:C24)>0)*(C2:C24<>""))

Следующая формула подсчитывает количество уникальных значений в списке2:

=СУММПРОИЗВ((СЧЁТЕСЛИ(A2:A24;C2:C24)=0)*(C2:C24<>""))

Получаем 7 уникальных записей и 16 дубликатов, что и видно на рисунке.

Полезное. Если вы хотите выделить дублирующиеся позиции или целые строки, содержащие повторяющиеся записи, вы можете создать правила условного форматирования на основе функции СЧЕТЕСЛИ, как показано в этом руководстве - правила условного форматирования Excel.

3. Сколько дубликатов и уникальных значений в строке

Если нужно сосчитать дубликаты или уникальные значения в определенной строке, а не в столбце, используйте одну из следующих формул. Они могут быть полезны, например, для анализа истории розыгрыша лотереи.

посчитать сколько дубликатов и уникальных значений в строке

Считаем количество дубликатов:

=СУММПРОИЗВ((СЧЁТЕСЛИ(A2:K2;A2:K2)>1)*(A2:K2<>""))

Видим, что 13 выпадало 2 раза.

Подсчитать уникальные значения:

=СУММПРОИЗВ((СЧЁТЕСЛИ(A2:K2;A2:K2)=1)*(A2:K2<>""))

Часто задаваемые вопросы и проблемы

Я надеюсь, что эти примеры помогли вам понять, как работает функция Excel СЧЕТЕСЛИ. Если вы попробовали какую-либо из приведенных выше формул в своих данных и не смогли заставить их работать или у вас возникли вопросы, взгляните на следующие 5 наиболее распространенных проблем. Есть большая вероятность, что вы найдете там ответ или же полезный совет.

  1. Возможен ли подсчет в несмежном диапазоне клеток?

Вопрос: Может ли быть использована функция СЧЕТЕСЛИ для несмежного диапазона или ячеек?

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

Неправильно: =СЧËТЕСЛИ(A2;B3;C4;">0")

Правильно: =СЧËТЕСЛИ (A2;">0") + СЧЕТЕСЛИ (B3;">0") + СЧЕТЕСЛИ (C4;">0")

Альтернативный способ - использовать функцию ДВССЫЛ (INDIRECT на английском) для создания массива из несмежных клеток. Например, оба приведенных ниже варианта дают одинаковый результат, который вы видите на картинке:

как подсчитать значения по условию в несмежных диапазонах

=СУММ(СЧЁТЕСЛИ(ДВССЫЛ({"B2:B11";"D2:D11"});"=0"))

Или же

=СЧËТЕСЛИ($B2:$B11;0) + СЧЕТЕСЛИ($D2:$D11;0)

  1. Амперсанд и кавычки в формулах СЧËТЕСЛИ

Вопрос: когда мне нужно использовать амперсанд?

Ответ: Это, пожалуй, самая сложная часть функции СЧЕТЕСЛИ, что лично меня тоже смущает. Хотя, если вы подумаете об этом, вы увидите - амперсанд и кавычки необходимы для построения текстовой строки для аргумента.

Итак, вы можете придерживаться этих правил:

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

=СЧËТЕСЛИ(A1:A10;10) или =СЧËТЕСЛИ(A1:A10;C1)

  • Если ваши условия содержат текст, подстановочный знак или логический оператор с числом, заключите его в кавычки. Например:

=СЧËТЕСЛИ(A2:A10;"яблоко") или =СЧËТЕСЛИ(A2:A10;"*") или =СЧËТЕСЛИ(A2:A10;">5")

  • Если ваши критерии - это выражение со ссылкой или же какая-то другая функция Excel, вы должны использовать кавычки ("") для начала текстовой строки и амперсанд (&) для конкатенации (объединения) и завершения строки. Например:

=СЧËТЕСЛИ(A2:A10;">"&D2) или = СЧËТЕСЛИ(A2:A10;"<="&СЕГОДНЯ())

Если вы сомневаетесь, нужен ли амперсанд или нет, попробуйте оба способа. В большинстве случаев амперсанд работает просто отлично.

Например, СЧËТЕСЛИ(C2: C8;"<=5") и = СЧËТЕСЛИ(C2: C8;"<="&5) работают одинаково хорошо.

  1. Как сосчитать ячейки по цвету?

Вопрос: Как подсчитать клетки по цвету заливки или шрифта, а не по значениям?

Ответ: К сожалению, синтаксис функции не позволяет использовать форматы в качестве условия. Единственный возможный способ суммирования ячеек на основе их цвета - использование макроса или, точнее, пользовательской функции Excel VBA. Читайте подробнее: Сумма по цвету и подсчет по цвету в Excel.

  1. Ошибка #ИМЯ?

Проблема: все время получаю ошибку #ИМЯ? Как я могу это исправить?

Ответ: Скорее всего, вы указали неверный диапазон или ошиблись в имени функции. Пожалуйста, проверьте пункт 1 выше.

  1. Формула не работает

Проблема: моя формула не работает! Что я сделал не так?

Ответ: Если вы написали формулу, которая на первый взгляд верна, но она не работает или дает неправильный результат, начните с проверки наиболее очевидных вещей, таких как диапазон, условия, ссылки, использование амперсанда и кавычек.

Будьте очень осторожны с использованием пробелов. При создании одной из формул для этой статьи я был уже готов рвать волосы, потому что правильная конструкция (я точно знал, что это правильно!) не срабатывала. Как оказалось, проблема была на самом виду... Например, посмотрите на это: =СЧЁТЕСЛИ(A4:A13;" Лимонад"). На первый взгляд, нет ничего плохого, кроме дополнительного пробела после открывающей кавычки. Программа отлично проглотит всё без сообщения об ошибке, предупреждения или каких-либо других указаний. Но если вы действительно хотите посчитать товары, содержащие слово «Лимонад» и начальный пробел, то будете очень разочарованы….

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

И это все на сегодня. Надеюсь, функция СЧЕТЕСЛИ теперь правильно подсчитывает количество по заданному условию и не предстваляет для вас затруднений. В следующей статье мы рассмотрим несколько способов подсчета ячеек в Excel с несколькими условиями.