Excel formula: saskaitiet brīvdienas starp diviem datumiem -

Vispārēja formula

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

Kopsavilkums

Lai uzskaitītu brīvdienas, kas notiek starp diviem datumiem, varat izmantot funkciju SUMPRODUCT.

Parādītajā piemērā formula F8 ir:

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

Paskaidrojums

Šajā formulā tiek izmantoti divi izteicieni vienā masīvā funkcijas SUMPRODUCT iekšpusē.

Pirmā izteiksme pārbauda katru svētku dienu, lai noskaidrotu, vai tā ir lielāka vai vienāda ar sākuma datumu F5:

(B4:B12>=F5)

Tas atgriež šādu TRUE / FALSE vērtību masīvu:

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

Otrā izteiksme pārbauda katru svētku dienu, lai redzētu, vai tas ir mazāks vai vienāds ar beigu datumu F6:

(B4:B12<=F6)

kas atgriež šādu TRUE / FALSE vērtību masīvu:

(PATIESA; PATIESA; PATIESA; PATIESA; PATIESA; PATIESA; PATIESA; PATIESA; PATIESA)

Šo divu masīvu reizināšana TRUE / FALSE vērtības automātiski piesaista vienībām un nullēm, kā rezultātā masīvi izskatās šādi:

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

Pēc reizināšanas mums ir tikai viens šāds masīvs:

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

Visbeidzot, SUMPRODUCT summē masīva vienumus un atgriež 4.

Brīvdienas tikai darba dienās

Lai uzskaitītu brīvdienas, kas notiek tikai darba dienās (no pirmdienas līdz piektdienai), varat paplašināt formulu šādi:

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

kur rng ir diapazons ar svētku datumiem.

Interesanti raksti...