
Generieke formule
=SUMPRODUCT(--((criteria1)+(criteria2)>0))
Samenvatting
Om rijen te tellen met behulp van meerdere criteria in verschillende kolommen - met OR-logica - kunt u de SOMPRODUCT-functie gebruiken. In het getoonde voorbeeld is de formule in H7:
=SUMPRODUCT(--((C5:C11="blue")+(D5:D11="dog")>0))
Uitleg
In het getoonde voorbeeld willen we rijen tellen waarvan de kleur "blauw" is OF het huisdier "hond" is.
De SUMPRODUCT-functie werkt native met arrays, dus voor de eerste criteria gebruiken we:
(C5:C11="blue")
Dit retourneert een reeks TRUE FALSE-waarden als volgt:
(TRUE; FALSE; FALSE; TRUE; FALSE; FALSE; TRUE)
Voor het tweede criterium gebruiken we:
(D5:D11="dog")
Welke retourneert:
(TRUE; FALSE; TRUE; FALSE; TRUE; FALSE; FALSE)
Deze twee arrays worden vervolgens samengevoegd met toevoeging (+), die automatisch de TRUE FALSE-waarden dwingt tot 1s en 0s om een array als volgt te maken:
(2; 0; 1; 1; 1; 0; 1)
We kunnen deze waarden niet simpelweg optellen met SOMPRODUCT, want dat zou rijen met zowel "blauw" als "hond" dubbel tellen. We gebruiken dus "> 0" samen met het dubbele negatieve (-) om alle waarden naar 1 of nul te forceren:
--((2;0;1;1;1;0;1)>0)
Welke deze array presenteert aan SOMPRODUCT:
(1; 0; 1; 1; 1; 0; 1)
SOMPRODUCT geeft dan de som van alle elementen terug.
Andere logische tests
In het voorbeeld worden tests voor eenvoudige gelijkheid getoond, maar u kunt die instructies zo nodig vervangen door andere logische tests. Als u bijvoorbeeld rijen wilt tellen waarin cellen in kolom A 'rood' bevatten OF cellen in kolom B 'blauw' bevatten, kunt u een formule als volgt gebruiken:
=SUMPRODUCT(--(ISNUMBER(SEARCH("red",A1:A10))+ISNUMBER(SEARCH("blue",B1:B10))>0))
Bekijk hier meer informatie over ISNUMBER met SEARCH.
Meer logische tests
U kunt ook meer dan twee tests toevoegen binnen de SUMPRODUCT-functie.