
Общая формула
=SUMPRODUCT(--((criteria1)+(criteria2)>0))
Резюме
Для подсчета строк по нескольким критериям в разных столбцах - с логикой ИЛИ - вы можете использовать функцию СУММПРОИЗВ. В показанном примере формула H7 имеет следующий вид:
=SUMPRODUCT(--((C5:C11="blue")+(D5:D11="dog")>0))
Объяснение
В показанном примере мы хотим подсчитать строки, в которых цвет - «синий», ИЛИ животное - «собака».
Функция СУММПРОИЗВ изначально работает с массивами, поэтому для первого критерия мы используем:
(C5:C11="blue")
Это возвращает массив значений TRUE FALSE, например:
(ИСТИНА; ЛОЖЬ; ЛОЖЬ; ИСТИНА; ЛОЖЬ; ЛОЖЬ; ИСТИНА)
Для второго критерия мы используем:
(D5:D11="dog")
Что возвращает:
(ИСТИНА; ЛОЖЬ; ИСТИНА; ЛОЖЬ; ИСТИНА; ЛОЖЬ; ЛОЖЬ)
Затем эти два массива соединяются с помощью сложения (+), которое автоматически переводит значения ИСТИНА ЛОЖЬ в 1 и 0 для создания такого массива:
(2; 0; 1; 1; 1; 0; 1)
Мы не можем просто сложить эти значения с помощью SUMPRODUCT, потому что это приведет к двойному подсчету строк и с синим, и с собакой. Итак, мы используем «> 0» вместе с двойным отрицательным знаком (-), чтобы принудительно установить все значения либо на 1, либо на ноль:
--((2;0;1;1;1;0;1)>0)
Что представляет этот массив СУММПРОИЗВУ:
(1; 0; 1; 1; 1; 0; 1)
СУММПРОИЗВ затем возвращает сумму всех элементов.
Другие логические тесты
В этом примере показаны тесты на простое равенство, но вы можете при необходимости заменить эти операторы другими логическими тестами. Например, для подсчета строк, в которых ячейки в столбце A содержат «красные» ИЛИ ячейки в столбце B содержат «синие», вы можете использовать следующую формулу:
=SUMPRODUCT(--(ISNUMBER(SEARCH("red",A1:A10))+ISNUMBER(SEARCH("blue",B1:B10))>0))
См. Дополнительную информацию об ISNUMBER с ПОИСКОМ здесь.
Более логические тесты
Вы также можете добавить более двух тестов в функцию СУММПРОИЗВ.