Excel vzorec: Počítajte sviatky medzi dvoma dátumami

Všeobecný vzorec

=SUMPRODUCT((holidays>=start)*(holidays<=end))

Zhrnutie

Ak chcete počítať sviatky, ktoré nastanú medzi dvoma dátumami, môžete použiť funkciu SUMPRODUCT.

V zobrazenom príklade je vzorec v F8:

=SUMPRODUCT((B4:B12>=F5)*(B4:B12<=F6))

Vysvetlenie

Tento vzorec používa dva výrazy v jednom poli vo vnútri funkcie SUMPRODUCT.

Prvý výraz testuje každý sviatok, či je väčší alebo rovný počiatočnému dátumu v F5:

(B4:B12>=F5)

Toto vráti pole TRUE / FALSE hodnôt, ako je táto:

(NEPRAVDA; NEPRAVDA; NEPRAVDA; NEPRAVDA; PRAVDA; PRAVDA; PRAVDA; PRAVDA; PRAVDA)

Druhý výraz testuje každý sviatok, či je menší alebo rovnaký ako dátum ukončenia v F6:

(B4:B12<=F6)

ktorý vráti pole TRUE / FALSE hodnôt, ako je tento:

(PRAVDA; PRAVDA; PRAVDA; PRAVDA; PRAVDA; PRAVDA; PRAVDA; PRAVDA; NEPRAVDA)

Násobenie týchto dvoch polí automaticky vynúti hodnoty TRUE / FALSE na jednotky a nuly, čo vedie k poliam, ktoré vyzerajú takto:

=SUMPRODUCT(((0;0;0;0;1;1;1;1;1))*((1;1;1;1;1;1;1;1;0)))

Po vynásobení máme iba jedno také pole:

=SUMPRODUCT((0;0;0;0;1;1;1;1;0))

Nakoniec SUMPRODUCT sčíta položky v poli a vráti 4.

Sviatky iba vo všedné dni

Ak chcete počítať sviatky, ktoré sa vyskytujú iba cez pracovné dni (pondelok až piatok), môžete vzorec predĺžiť takto:

=SUMPRODUCT((rng>=F5)*(rng<=F6)*(WEEKDAY(rng,2)<6))

kde rng je rozsah obsahujúci dátumy dovolenky.

Zaujímavé články...