
Obecný vzorec
=SUMPRODUCT(--(range1=range2))
souhrn
Pokud chcete porovnat dva sloupce a spočítat shody v odpovídajících řádcích, můžete použít funkci SUMPRODUCT s jednoduchým porovnáním obou rozsahů. Například pokud máte hodnoty v B5: B11 a C5: C11 a chcete spočítat rozdíly, můžete použít tento vzorec:
=SUMPRODUCT(--(B5:B11=C5:C11))
Vysvětlení
Funkce SUMPRODUCT je univerzální funkce, která nativně zpracovává pole bez jakékoli speciální syntaxe pole. Jeho chování je jednoduché: vynásobí a poté sečte součin polí. V zobrazeném příkladu vygeneruje výraz B5: B11 = C5: C11 pole, které obsahuje hodnoty TRUE a FALSE takto:
(PRAVDA; PRAVDA; NEPRAVDA; PRAVDA; NEPRAVDA; NEPRAVDA; NEPRAVDA)
Všimněte si, že máme 3 PRAVÉ hodnoty, protože existují 3 shody.
V tomto stavu SUMPRODUCT ve skutečnosti vrátí nulu, protože hodnoty PRAVDA a NEPRAVDA se ve výchozím nastavení v aplikaci Excel nepočítají jako čísla. Aby SUMPRODUCT považoval TRUE za 1 a FALSE za nulu, musíme je „donutit“ k číslům. Dvojitý zápor je jednoduchý způsob, jak to udělat:
--(B5:B11=C5:C11)
Po nátlaku máme:
(1; 1; 0; 1; 0; 0; 0)
S žádným dalším množením pole SUMPRODUCT jednoduše sečte hodnoty a vrátí 3.
Počítat neodpovídající řádky
Chcete-li spočítat neodpovídající hodnoty, můžete obrátit logiku takto:
=SUMPRODUCT(--(B5:B11C5:C11))