Excel vzorec: Součet podle pracovního dne -

Obsah

Obecný vzorec

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

souhrn

Chcete-li sčítat data podle pracovního dne (tj. Součet podle pondělí, úterý, středy atd.), Můžete použít funkci SUMPRODUCT společně s funkcí WEEKDAY.

V zobrazeném příkladu je vzorec v H4:

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

Vysvětlení

Možná se divíte, proč nepoužíváme funkci SUMIF nebo SUMIFS? Zdá se, že je to zřejmý způsob, jak to shrnout podle dnů v týdnu. Bez přidání pomocného sloupce s hodnotou dne v týdnu však neexistuje způsob, jak vytvořit kritéria pro SUMIF, která zohledňují den v týdnu.

Místo toho používáme praktickou funkci SUMPRODUCT, která elegantně zpracovává pole bez nutnosti používat Control + Shift + Enter.

Používáme SUMPRODUCT pouze s jedním argumentem, který se skládá z tohoto výrazu:

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

Při práci zevnitř ven je funkce WEEKDAY konfigurována s volitelným argumentem 2, který způsobí, že bude vracet čísla 1-7 pro dny od pondělí do neděle. To není nutné, ale usnadňuje to seznam dnů a pořadí čísel ve sloupci G v pořadí.

WEEKDAY vyhodnotí každou hodnotu v pojmenovaném rozsahu „dates“ a vrátí číslo. Výsledkem je pole jako toto:

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

Čísla vrácená WEEKDAY jsou poté porovnána s hodnotou v G4, což je 1.

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

Výsledkem je pole TRUE / FALSE hodnot.

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

Dále je toto pole vynásobeno hodnotami v pojmenovaném rozsahu „amts“. SUMPRODUCT funguje pouze s čísly (ne textovými nebo booleovskými), ale matematické operace automaticky vynucují hodnoty TRUE / FALSE na něčí a nuly, takže máme:

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

Které výnosy:

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

Pouze s tímto jediným polem ke zpracování SUMPRODUCT sečte položky a vrátí výsledek.

Zajímavé články...