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