
Generisk formel
=SUMPRODUCT(--(range1=range2))
Resumé
Hvis du vil sammenligne to kolonner og tælle matches i tilsvarende rækker, kan du bruge SUMPRODUCT-funktionen med en simpel sammenligning af de to områder. For eksempel, hvis du har værdier i B5: B11 og C5: C11, og du vil tælle eventuelle forskelle, kan du bruge denne formel:
=SUMPRODUCT(--(B5:B11=C5:C11))
Forklaring
SUMPRODUCT-funktionen er en alsidig funktion, der håndterer arrays indbygget uden nogen speciel array-syntaks. Dens adfærd er enkel: den multipliceres og summerer derefter produktet af arrays. I det viste eksempel vil udtrykket B5: B11 = C5: C11 generere en matrix, der indeholder SANDE og FALSKE værdier som denne:
(SAND; SAND; FALSK; SAND; FALSK; FALSK; FALSK)
Bemærk, at vi har 3 SANDE værdier, fordi der er 3 matches.
I denne tilstand returnerer SUMPRODUCT faktisk nul, fordi SANDE og FALSKE værdier ikke tælles som tal i Excel som standard. For at få SUMPRODUCT til at behandle SAND som 1 og FALSK som nul, er vi nødt til at "tvinge" dem til tal. Det dobbelte negative er en enkel måde at gøre det på:
--(B5:B11=C5:C11)
Efter tvang har vi:
(1; 1; 0; 1; 0; 0; 0)
Uden andre arrays at formere sig, summerer SUMPRODUCT simpelthen værdierne og returnerer 3.
Tæl ikke-matchende rækker
For at tælle ikke-matchende værdier kan du vende logikken sådan:
=SUMPRODUCT(--(B5:B11C5:C11))