Excel-formel: Räkna om raden uppfyller flera interna kriterier -

Innehållsförteckning

Generisk formel

=SUMPRODUCT((logical1)*(logical2))

Sammanfattning

För att räkna rader i en tabell som uppfyller flera kriterier, varav vissa beror på logiska tester som fungerar på radnivå, kan du använda funktionen SUMPRODUCT.

Sammanhang

Du har en tabell som innehåller resultaten av sportmatcher. Du har fyra kolumner: hemmalag, gästlag, hemmalag, gästlag. För ett visst lag vill du bara räkna matcher (rader) där laget vann hemma. Det är lätt att räkna matcher (rader) där ett lag var hemmalaget, men hur räknar man bara vinner?

Detta är en bra användning av SUMPRODUCT-funktionen, som kan hantera matrisoperationer (tänk operationer som hanterar intervall) naturligt.

I exemplet som visas är formeln i cell H5:

=SUMPRODUCT((B5:B10=G5)*(D5:D10>E5:E10))

Förklaring

SUMPRODUCT-funktionen är programmerad för att hantera matriser naturligt, utan att Control Shift Enter krävs. Det är standardbeteendet att multiplicera motsvarande element i en eller flera matriser tillsammans och sedan summera produkterna. När en enda matris ges, returnerar den summan av elementen i matrisen.

I detta exempel använder vi två logiska uttryck i ett enda arrayargument. Vi kunde placera varje uttryck i ett separat argument, men då skulle vi behöva tvinga logiska TRUE FALSE-värden till en och nollor med en annan operatör.

Genom att använda multiplikationsoperatören för att multiplicera de två matriserna tillsammans tvingar Excel automatiskt logiska värden till en och nollor.

Efter att de två logiska uttrycken har utvärderats ser formeln ut så här:

=SUMPRODUCT(((FALSE;TRUE;FALSE;TRUE;FALSE;TRUE))*((TRUE;TRUE;TRUE;FALSE;TRUE;TRUE)))

Efter att de två matriserna har multiplicerats ser formeln ut så här:

=SUMPRODUCT((0;1;0;0;0;1))

Med bara en array kvar, lägger SUMPRODUCT bara till elementen i arrayen och returnerar summan.

Intressanta artiklar...