
Obecný vzorec
=SUMPRODUCT(--((criteria1)+(criteria2)>0))
souhrn
Chcete-li počítat řádky pomocí více kritérií napříč různými sloupci - s logikou NEBO - můžete použít funkci SUMPRODUCT. V zobrazeném příkladu je vzorec v H7:
=SUMPRODUCT(--((C5:C11="blue")+(D5:D11="dog")>0))
Vysvětlení
V zobrazeném příkladu chceme spočítat řádky, kde je barva „modrá“ NEBO domácí zvíře je „pes“.
Funkce SUMPRODUCT pracuje s poli nativně, takže pro první kritéria používáme:
(C5:C11="blue")
Tím se vrátí pole TRUE FALSE hodnot, jako je tato:
(PRAVDA; NEPRAVDA; NEPRAVDA; PRAVDA; NEPRAVDA; NEPRAVDA; PRAVDA)
U druhého kritéria používáme:
(D5:D11="dog")
Který se vrací:
(PRAVDA; NEPRAVDA; PRAVDA; NEPRAVDA; PRAVDA; NEPRAVDA; NEPRAVDA)
Tato dvě pole se poté spojí s přídavkem (+), který automaticky vynutí hodnoty TRUE FALSE na 1 s a 0 s, aby se vytvořilo pole takto:
(2; 0; 1; 1; 1; 0; 1)
Nemůžeme jednoduše sčítat tyto hodnoty pomocí SUMPRODUCT, protože by to zdvojnásobilo počet řádků s „modrým“ i „psem“. Takže používáme "> 0" spolu s dvojitým záporem (-) k vynucení všech hodnot na 1 nebo nulu:
--((2;0;1;1;1;0;1)>0)
Což představuje toto pole pro SUMPRODUCT:
(1; 0; 1; 1; 1; 0; 1)
SUMPRODUCT poté vrátí součet všech prvků.
Další logické testy
Příklad ukazuje testy jednoduché rovnosti, ale tyto příkazy můžete podle potřeby nahradit jinými logickými testy. Chcete-li například spočítat řádky, kde buňky ve sloupci A obsahují „červené“ NEBO buňky ve sloupci B obsahují „modré“, můžete použít vzorec takto:
=SUMPRODUCT(--(ISNUMBER(SEARCH("red",A1:A10))+ISNUMBER(SEARCH("blue",B1:B10))>0))
Zde se dozvíte více informací o ISNUMBER se SEARCH.
Více logických testů
Do funkce SUMPRODUCT můžete také přidat více než dva testy.