Excel képlet: Számolja meg, ha a sor megfelel több belső feltételnek -

Tartalomjegyzék

Általános képlet

=SUMPRODUCT((logical1)*(logical2))

Összegzés

A SUMPRODUCT függvény használatával megszámolhatja a táblázat azon sorait, amelyek több kritériumnak is megfelelnek, amelyek némelyike ​​a sor szintjén működő logikai tesztektől függ.

Kontextus

Van egy táblázata, amely a sportmérkőzések eredményeit tartalmazza. Négy oszlopa van: hazai csapat, vendégcsapat, hazai csapat pontszám, vendégcsapat pontszám. Egy adott csapatnál csak azokat a mérkőzéseket (sorokat) szeretné megszámolni, ahol a csapat otthon nyert. Könnyű megszámolni azokat a meccseket (sorokat), ahol egy csapat volt a hazai csapat, de hogyan számolja csak a győzelmeket?

Ez jól használható a SUMPRODUCT függvényben, amely natívan képes kezelni a tömb műveleteket (gondoljunk a tartományokkal foglalkozó műveletekre).

A bemutatott példában a H5 cellában szereplő képlet a következő:

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

Magyarázat

A SUMPRODUCT funkció úgy van programozva, hogy natívan kezelje a tömböket, anélkül, hogy a Control Shift Entert meg kellene követelni. Alapértelmezett viselkedése, hogy a megfelelő elemeket egy vagy több tömbben szorozza össze, majd összegezze a szorzatokat. Egyetlen tömb megadásakor a tömb elemeinek összegét adja vissza.

Ebben a példában két logikai kifejezést használunk egyetlen tömb argumentumon belül. Mindegyik kifejezést külön argumentumba helyezhetnénk, de akkor a logikai IGAZ HAMIS értékeket egy operátorral kell eggyel és nullára kényszerítenünk.

Ha a szorzó operátorral megszorozza a két tömböt, az Excel automatikusan logikai értékeket kényszerít eggyel és nullára.

A két logikai kifejezés kiértékelése után a képlet így néz ki:

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

A két tömb megszorzása után a képlet a következőképpen néz ki:

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

Csak egy tömb van hátra, a SUMPRODUCT egyszerűen összeadja a tömb elemeit, és visszaadja az összeget.

érdekes cikkek...