Microsoft Excel

трюкиприёмырешения

Примеры формул
07.04.2013 21644

Как в таблице Excel подсчитать ячейки, которые соответствуют нескольким критериям

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

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

Использование критерия И

Критерий И подсчитывает ячейки, если все указанные условия выполнились. Типичным примером является формула, которая считает количество значений, входящих в числовой диапазон. Например, вы захотели подсчитать, сколько ячеек содержат значение, большее 0 и меньшее либо равное 12. Любая ячейка, которая имеет положительное значение, меньшее или равное 12, будет включена в подсчет.

Следующая формула, которая работает только в Excel 2007 и более поздних версиях, считает ячейки, которые имеют значение от 0 до 12, в диапазоне, названном Данные: =СЧЁТЕСЛИМН(Данные;">=0";Данные;"<=12").

Аргументы функции СЧЁТЕСЛИМН всегда идут парами. Эта формула имеет два набора парных аргументов: первый аргумент в каждой паре является интересующим вас диапазоном, а второй аргумент — критерием. Значения учитываются для подсчета, если они отвечают всем критериям, указанным для каждого аргумента пары.

Для совместимости с предыдущими версиями Excel используйте такую формулу: =СЧЁТЕСЛИ(Данные;">0")-СЧЁТЕСЛИ(Данные;">12").

Данная формула использует разговорный английский и подсчитывает количество значений, больших 0, а затем отнимает количество значений, больших 12. В результате получается количество ячеек со значениями, большими 0 и меньшими либо равными 12. Создание такого рода формул может привести к путанице, поскольку формула ссылается на условие ">12", даже если цель заключается в подсчете значений, меньших или равных 12. Альтернативный метод заключается в использовании формулы массива, например такой, как следующая (создание формул такого типа вам может показаться проще): =СУММ((Данные>0)*(Данные<=12)).

При вводе формулы массива нажмите Ctrl+Shift+Enter, а не просто Enter.

На рис. 116.1 показана таблица, которую я использую для некоторых из приведенных ниже примеров. Здесь приведены данные по объему продаж, категоризованные по таким параметрам, как месяц, агент и тип. Таблица содержит именованные диапазоны, соответствующие меткам в строке 1. Иногда критерий подсчета основан на ячейках, отличных от ячеек, которые подсчитываются. Вы можете, например, захотеть вычислить количество продаж, отвечающих следующему критерию: месяц — январь, агент — Селезнев, объем больше 1000.

Рис. 116.1. Таблица демонстрирует различные методы подсчета, использующие несколько критериев

Рис. 116.1. Таблица демонстрирует различные методы подсчета, использующие несколько критериев

Следующая формула (только для Excel 2007 и более поздних версий) использует три набора парных аргументов для возвращения количества: =СЧЁТЕСЛИМН(Месяц:"Январь";Агент:"Селезнев";0бъем;">1000"). Для совместимости с предыдущими версиями Excel указывайте следующую формулу для подсчета количества элементов, которые отвечают всем трем критериям: =СУММПРОИЗВ((Месяц="Январь")*(Агент="Селезнев")*(Объем>1000)).

Рис. 116.2. Для подсчета строк, отвечающих нескольким критериям, применяется фильтрация

Рис. 116.2. Для подсчета строк, отвечающих нескольким критериям, применяется фильтрация

Если ваши данные находятся в таблице, созданной после вызова команды , вы можете испольВставка ► Таблицы ► Таблицазовать фильтрацию для отображения только тех строк, которые отвечают нескольким критериям. На рис. 116.2 показаны данные, отфильтрованные таким образом, чтобы отображались только январские продажи Селезнева, объем которых превышает 1000. Я также добавил строку Итого к этой таблице, которая показывает количество. Однако стоит отметить, что фильтрация не может быть использована для критерия ИЛИ, который мы обсудим далее.

Использование критерия ИЛИ

Для подсчета ячеек с использованием критерия ИЛИ иногда можно применять несколько функций СЧЁТЕСЛИ. Следующая формула, например, подсчитывает количество экземпляров 1,3 и 5 в диапазоне, названном Данные: =СЧЁТЕСЛИ(Данные;1)+СЧЁТЕСЛИ(Данные;3)+СЧЁТЕСЛИ(Данные;5).

Вы можете также использовать функцию СЧЁТЕСЛИ в формуле массива. Так, следующая формула массива возвращает тот же результат, что и предыдущая формула: =СУММ(СЧЁТЕСЛИ(Данные;{1;3:5})).

Введите формулу массива и нажмите Ctrl+Shift+Enter.

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

  • месяц — январь;
  • агент — Селезнев;
  • объем больше 1000.

Следующая формула массива возвращает корректное количество: =СУММ(ЕСЛИ((Месяц="Январь")+(Агент="Селезнев")+(Объем>1000);1)).

Объединение критериев И и ИЛИ

Вы можете комбинировать критерии И и ИЛИ при подсчете. Возможно, вы захотите подсчитать продажи, которые соответствуют такому критерию: месяц — январь, агент — Селезнев или Петров. Эта формула массива возвращает количество продаж, которые отвечают критерию:
=СУММ((Месяц="Январь")*ЕСЛИ((Агент="Селезнев")+(Агент="Петров");1)).


Top