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

Innehållsförteckning

Generisk formel

=SUMPRODUCT(--(logical_expression))

Sammanfattning

För att räkna rader i en tabell som uppfyller interna, beräknade kriterier utan att använda en hjälpkolumn kan du använda SUMPRODUCT-funktionen.

Sammanhang

Tänk dig att du har en tabell över försäljningssiffror för flera produkter. Du har en kolumn för försäljning förra månaden och en kolumn för försäljning under den aktuella månaden. Du vill räkna produkter (rader) där den nuvarande försäljningen är mindre än försäljningen förra månaden. Du kan inte använda COUNTIF för detta eftersom COUNTIF är en intervallbaserad funktion. Ett alternativ är att lägga till en hjälpkolumn som subtraherar förra månadens försäljning från den här månadens försäljning och sedan använder COUNTIF för att räkna resultat mindre än noll. Men tänk om du inte vill (eller inte kan) lägga till en hjälpkolumn? I så fall kan du använda SUMPRODUCT.

I exemplet som visas är formeln i cell G6:

=SUMPRODUCT(--(C5:C10>D5:D10))

Förklaring

SUMPRODUCT är utformad för att fungera med matriser. Det multiplicerar motsvarande element i två eller flera matriser och summerar de resulterande produkterna. Som ett resultat kan du använda SUMPRODUCT för att bearbeta matriser som härrör från kriterier som tillämpas på ett cellområde. Resultatet av sådana operationer kommer att vara matriser, som SUMPRODUCT kan hantera inbyggt utan att behöva Control Shift Enter syntax.

I det här fallet jämför vi helt enkelt värdena i kolumn C med värdena i kolumn D med ett logiskt uttryck:

C5:C10>D5:D10

Eftersom vi har att göra med intervall (arrays) är resultatet en uppsättning TRUE FALSE-värden så här:

(FALSK; SANT; FALSK; SANT; FALSK; FALSK)

För att tvinga dessa till enar och nollor använder vi en dubbel negativ operator (även kallad dubbel unary):

--(C5:C10>D5:D10)

Som producerar och matar ut så här:

(0; 1; 0; 1; 0; 0)

som sedan bearbetas av SUMPRODUCT. Eftersom det bara finns en matris lägger SUMPRODUCT helt enkelt samman elementen i matrisen och returnerar en total.

Intressanta artiklar...