Excel vzorec: Súčet podľa pracovných dní -

Obsah

Všeobecný vzorec

=SUMPRODUCT((WEEKDAY(dates)=day_num)*values)

Zhrnutie

Ak chcete sčítať údaje podľa pracovných dní (tj. Súčtov v pondelok, utorok, stredu atď.), Môžete použiť funkciu SUMPRODUCT spolu s funkciou WEEKDAY.

V zobrazenom príklade je vzorec v H4:

=SUMPRODUCT((WEEKDAY(dates,2)=G4)*amts)

Vysvetlenie

Možno by vás zaujímalo, prečo nepoužívame funkciu SUMIF alebo SUMIFS? Zdá sa, že je to zrejmý spôsob súčtu podľa dní v týždni. Bez pridania pomocného stĺpca s hodnotou v týždni však neexistuje spôsob, ako vytvoriť kritérium pre SUMIF, ktoré zohľadňuje všedný deň.

Namiesto toho použijeme šikovnú funkciu SUMPRODUCT, ktorá elegantne narába s poliami bez nutnosti používať Control + Shift + Enter.

SUMPRODUCT používame iba s jedným argumentom, ktorý sa skladá z tohto výrazu:

(WEEKDAY(dates,2)=G4)*amts

Pri práci zvnútra je funkcia WEEKDAY konfigurovaná s voliteľným argumentom 2, ktorý spôsobuje, že bude vracať čísla 1 - 7 pre dni pondelok - nedeľa. To nie je potrebné, ale uľahčuje to zoradenie dní a postupné vyberanie čísel v stĺpci G.

WEEKDAY vyhodnotí každú hodnotu v pomenovanom rozsahu „dates“ a vráti číslo. Výsledkom je pole ako je toto:

(3; 5; 3; 1; 2; 2; 4; 2)

Čísla vrátené do WEEKDAY sa potom porovnajú s hodnotou v G4, ktorá je 1.

(3; 5; 3; 1; 2; 2; 4; 2) = 1

Výsledkom je pole hodnôt TRUE / FALSE.

(FALSE; FALSE; FALSE; TRUE; FALSE; FALSE; FALSE; FALSE)

Ďalej sa toto pole vynásobí hodnotami v pomenovanom rozsahu „amts“. SUMPRODUCT funguje iba s číslami (nie textovými alebo boolovskými hodnotami), ale matematické operácie automaticky vynútia hodnoty TRUE / FALSE na jedničku a nuly, takže máme:

(0; 0; 0; 1; 0; 0; 0; 0) * (100; 250; 75; 275; 250; 100; 300; 125)

Ktoré výnosy:

(0; 0; 0; 275; 0; 0; 0; 0)

Iba s týmto jediným poľom na spracovanie SUMPRODUCT sčíta položky a vráti výsledok.

Zaujímavé články...