Excel képlet: Számolja az ünnepeket két dátum között -

Általános képlet

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

Összegzés

A két dátum között előforduló ünnepek számlálásához használja a SUMPRODUCT funkciót.

A bemutatott példában az F8 képlete a következő:

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

Magyarázat

Ez a képlet két kifejezést használ egyetlen tömbben a SUMPRODUCT függvényen belül.

Az első kifejezés minden ünnepnapot tesztel, hogy megnézze, nagyobb-e vagy egyenlő-e az F5 kezdő dátumával:

(B4:B12>=F5)

Ez a következő TRUE / FALSE értékek tömbjét adja vissza:

(HAMIS; HAMIS; HAMIS; HAMIS; IGAZ; IGAZ; IGAZ; IGAZ; IGAZ)

A második kifejezés minden ünnepi dátumot tesztel, hogy kiderüljön, hogy ez kevesebb-e vagy egyenlő-e az F6-os befejezési dátummal:

(B4:B12<=F6)

amely a következő IGAZ / HAMIS értékek tömbjét adja vissza:

(IGAZ; IGAZ; IGAZ; IGAZ; IGAZ; IGAZ; IGAZ; IGAZ; HAMIS)

Ennek a két tömbnek a szorzata automatikusan a TRUE / FALSE értékeket egyekre és nullákra kényszeríti, így a következő tömböket kapja:

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

A szorzás után csak egy ilyen tömb van:

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

Végül a SUMPRODUCT összegzi a tömb elemeit és 4-et ad vissza.

Ünnepek csak hétköznap

A csak hétköznap (hétfőtől péntekig) esedékes ünnepnapok kiszámításához a következőképpen bővítheti a képletet:

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

ahol az rng az ünnepi dátumokat tartalmazó tartomány.

érdekes cikkek...