Excel vzorec: Počítajte dátumy podľa dní v týždni -

Obsah

Všeobecný vzorec

=SUMPRODUCT(--(WEEKDAY(dates)=day_num))

Zhrnutie

Ak chcete počítať dátumy podľa pracovných dní (tj. Počítať pondelok, utorok, stredu atď.), Môžete použiť funkciu SUMPRODUCT spolu s funkciou WEEKDAY. V zobrazenom príklade je vzorec v F4:

=SUMPRODUCT(--(WEEKDAY(dates,2)=E4))

Poznámka: „dates“ je pomenovaný rozsah B4: B15.

Vysvetlenie

Možno by vás zaujímalo, prečo nepoužívame COUNTIF alebo COUNTIF? Tieto funkcie sa javia ako zrejmé riešenie. Bez pridania pomocného stĺpca, ktorý obsahuje hodnotu v týždni, však neexistuje spôsob, ako vytvoriť kritériá, aby COUNTIF počítal dni v týždni v rozsahu dátumov.

Namiesto toho používame všestrannú 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)=E4)

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. Toto uľahčuje zoradenie dní podľa poradia čísel v stĺpci E.

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

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

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

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

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

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

SUMPRODUCT funguje iba s číslami (nie textovými alebo boolovskými), takže na vynútenie hodnôt TRUE / FALSE na jedničku a nuly používame dvojitý zápor:

(1;0;0;1;0;0;0;1;0;0;0;0)

S jediným poľom na spracovanie SUMPRODUCT sčíta položky a vráti výsledok, 3.

Zaoberanie sa prázdnymi dátumami

Ak máte v zozname dátumov prázdne bunky, získate nesprávne výsledky, pretože funkcia WEEKDAY vráti výsledok, aj keď nebude uvedený žiadny dátum. Ak chcete pracovať s prázdnymi bunkami, môžete upraviť vzorec nasledovne:

=SUMPRODUCT((WEEKDAY(dates,2)=E4)*(dates""))

Vynásobenie výrazom (dátumy „“) je jedným zo spôsobov, ako zrušiť prázdne bunky.

Zaujímavé články...