
Általános képlet
=SUMPRODUCT(--(logical_expression))
Összegzés
A SUMPRODUCT függvény használatával a táblázat belső, kiszámított feltételeknek megfelelő sorait segítő oszlop használata nélkül számolhatja.
Kontextus
Képzelje el, hogy több termékre vonatkozó táblázata van. Van egy oszlopa a múlt havi értékesítéshez és egy oszlop az aktuális hónap értékesítéséhez. Olyan termékeket (sorokat) szeretne megszámolni, amelyek jelenlegi árbevétele kevesebb, mint az előző havi értékesítés. Ehhez nem használhat COUNTIF-eket, mert a COUNTIF-ek tartományalapú függvények. Az egyik lehetőség az, hogy hozzáad egy segítő oszlopot, amely kivonja a múlt havi eladásokat a hónap eladásaiból, majd a COUNTIF segítségével számolja a nullánál kisebb eredményeket. De mi van, ha nem akar (vagy nem tud) hozzáadni egy segítő oszlopot? Ebben az esetben használhatja a SUMPRODUCT alkalmazást.
A bemutatott példában a G6 cellában szereplő képlet a következő:
=SUMPRODUCT(--(C5:C10>D5:D10))
Magyarázat
A SUMPRODUCT tömbökkel való használatra készült. Megszorozza a megfelelő elemeket két vagy több tömbben, és összegzi a kapott termékeket. Ennek eredményeként a SUMPRODUCT segítségével feldolgozhatja azokat a tömböket, amelyek abból adódnak, hogy a feltételeket egy cellatartományra alkalmazzák. Az ilyen műveletek eredményeként tömbök lesznek, amelyeket a SUMPRODUCT natív módon képes kezelni, anélkül, hogy a Control Shift Enter szintaxist igényelné.
Ebben az esetben egyszerűen összehasonlítjuk a C oszlop értékeit a D oszlop értékeivel egy logikai kifejezés segítségével:
C5:C10>D5:D10
Mivel tartományokkal (tömbökkel) van dolgunk, az eredmény egy IGAZ HAMIS érték tömbje, mint ez:
(HAMIS; IGAZ; HAMIS; IGAZ; HAMIS; HAMIS)
Ezeket egerekre és nullákra kényszerítve kettős negatív operátort használunk (más néven kettős unárist):
--(C5:C10>D5:D10)
Ami így állít elő és tömböt:
(0; 1; 0; 1; 0; 0)
amelyet azután a SUMPRODUCT feldolgoz. Mivel csak egy tömb van, a SUMPRODUCT egyszerűen összeadja a tömb elemeit, és egy összeget ad vissza.