Общая формула
=SUMPRODUCT((logical1)*(logical2))
Резюме
Чтобы подсчитать строки в таблице, которые соответствуют нескольким критериям, некоторые из которых зависят от логических тестов, работающих на уровне строк, вы можете использовать функцию СУММПРОИЗВ.
Контекст
У вас есть таблица с результатами спортивных матчей. У вас есть четыре столбца: команда хозяев, команда гостей, счет команды хозяев, счет команды гостей. Для данной команды вы хотите засчитывать только матчи (строки), в которых команда выиграла дома. Подсчитать матчи (ряды), в которых команда была хозяевами поля, несложно, но как считать только победы?
Это хорошее использование функции СУММПРОИЗВ, которая может обрабатывать операции с массивами (подумайте об операциях, которые имеют дело с диапазонами) изначально.
В показанном примере формула в ячейке H5:
=SUMPRODUCT((B5:B10=G5)*(D5:D10>E5:E10))
Объяснение
Функция СУММПРОИЗВ запрограммирована для обработки массивов изначально, без необходимости Control Shift Enter. По умолчанию это умножение соответствующих элементов в одном или нескольких массивах, а затем суммирование произведений. При задании одного массива он возвращает сумму элементов в массиве.
В этом примере мы используем два логических выражения внутри одного аргумента массива. Мы могли бы поместить каждое выражение в отдельный аргумент, но тогда нам нужно было бы привести логические значения ИСТИНА ЛОЖЬ к единицам и нулям с помощью другого оператора.
Используя оператор умножения для умножения двух массивов, Excel автоматически переводит логические значения в единицы и нули.
После вычисления двух логических выражений формула будет выглядеть так:
=SUMPRODUCT(((FALSE;TRUE;FALSE;TRUE;FALSE;TRUE))*((TRUE;TRUE;TRUE;FALSE;TRUE;TRUE)))
После перемножения двух массивов формула будет выглядеть так:
=SUMPRODUCT((0;1;0;0;0;1))
Когда остается только один массив, СУММПРОИЗВ просто складывает элементы в массиве и возвращает сумму.