
Általános képlet
=SUMPRODUCT((WEEKDAY(dates)=day_num)*values)
Összegzés
Az adatok hétköznapi összesítéséhez (azaz a hétfői, keddi, szerdai stb. Összegzéséhez) használhatja a SUMPRODUCT funkciót a WEEKDAY funkcióval együtt.
A bemutatott példában a H4 képlete a következő:
=SUMPRODUCT((WEEKDAY(dates,2)=G4)*amts)
Magyarázat
Kíváncsi lehet, miért nem használjuk a SUMIF vagy a SUMIFS függvényt? Úgy tűnik, hogy ezek a hét napjainak összegzésének nyilvánvaló módja. Hétköznapi értékű segítő oszlop hozzáadása nélkül azonban nem lehet olyan kritériumokat létrehozni a SUMIF számára, amelyek figyelembe veszik a hét napját.
Ehelyett a praktikus SUMPRODUCT funkciót használjuk, amely kecsesen kezeli a tömböket a Control + Shift + Enter használata nélkül.
A SUMPRODUCT-ot csak egy argumentummal használjuk, amely ebből a kifejezésből áll:
(WEEKDAY(dates,2)=G4)*amts
Belülről kifelé haladva a WEEKDAY függvény az opcionális 2 argumentummal van konfigurálva, ami azt eredményezi, hogy a hétfőtől vasárnapig 1-7 számot adjon vissza. Ez nem szükséges, de megkönnyíti a napok sorrendben történő felsorolását és a G oszlopban szereplő számok egymás utáni felvételét.
A WEEKDAY kiértékeli a "dátum" nevű tartomány minden értékét, és számot ad vissza. Az eredmény egy ilyen tömb:
(3; 5; 3; 1; 2; 2; 4; 2)
A WEEKDAY által visszaküldött számokat ezután összehasonlítjuk a G4 értékével, amely 1.
(3; 5; 3; 1; 2; 2; 4; 2) = 1
Az eredmény egy IGAZ / HAMIS érték tömbje.
(HAMIS; HAMIS; HAMIS; IGAZ; HAMIS; HAMIS; HAMIS; HAMIS)
Ezután ezt a tömböt megszorozzuk a megnevezett tartomány "amts" értékeivel. A SUMPRODUCT csak számokkal működik (nem szöveges vagy logikai értékekkel), de a matematikai műveletek automatikusan rákényszerítik az IGAZ / HAMIS értékeket nullára, tehát:
(0; 0; 0; 1; 0; 0; 0; 0) * (100; 250; 75; 275; 250; 100; 300; 125)
Melyik hozam:
(0; 0; 0; 275; 0; 0; 0; 0)
Csak ezt az egyetlen tömböt kell feldolgozni, a SUMPRODUCT összegzi az elemeket és visszaadja az eredményt.