Формула Excel: Подсчитайте, если строка соответствует внутренним критериям -

Содержание

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

=SUMPRODUCT(--(logical_expression))

Резюме

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

Контекст

Представьте, что у вас есть таблица с данными о продажах нескольких товаров. У вас есть столбец для продаж в прошлом месяце и столбец для продаж в текущем месяце. Вы хотите подсчитать продукты (строки), где текущие продажи меньше, чем продажи в прошлом месяце. Вы не можете использовать для этого СЧЁТЕСЛИ, потому что СЧЁТЕСЛИ - это функция на основе диапазона. Один из вариантов - добавить вспомогательный столбец, который вычитает продажи за последний месяц из продаж за этот месяц, а затем использовать COUNTIF для подсчета результатов меньше нуля. Но что, если вы не хотите (или не можете) добавлять вспомогательный столбец? В этом случае вы можете использовать SUMPRODUCT.

В показанном примере формула в ячейке G6:

=SUMPRODUCT(--(C5:C10>D5:D10))

Объяснение

SUMPRODUCT предназначен для работы с массивами. Он умножает соответствующие элементы в два или более массивов и суммирует полученные произведения. В результате вы можете использовать SUMPRODUCT для обработки массивов, которые являются результатом применения критериев к диапазону ячеек. Результатом таких операций будут массивы, которые SUMPRODUCT может обрабатывать изначально, не требуя синтаксиса Control Shift Enter.

В этом случае мы просто сравниваем значения в столбце C со значениями в столбце D, используя логическое выражение:

C5:C10>D5:D10

Поскольку мы имеем дело с диапазонами (массивами), результатом является массив ИСТИННЫХ ЛОЖНЫХ значений, например:

(ЛОЖЬ; ИСТИНА; ЛОЖЬ; ИСТИНА; ЛОЖЬ; ЛОЖЬ)

Чтобы преобразовать их в единицы и нули, мы используем двойной отрицательный оператор (также называемый двойным унарным):

--(C5:C10>D5:D10)

Что производит и массив вроде этого:

(0; 1; 0; 1; 0; 0)

который затем обрабатывается SUMPRODUCT. Поскольку существует только один массив, СУММПРОИЗВ просто складывает элементы в массиве и возвращает итог.

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