
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.