
Üldine valem
=SUMPRODUCT((holidays>=start)*(holidays<=end))
Kokkuvõte
Kahe kuupäeva vahel toimuvate pühade arvestamiseks võite kasutada funktsiooni SUMPRODUCT.
Näidatud näites on valemis F8 järgmine:
=SUMPRODUCT((B4:B12>=F5)*(B4:B12<=F6))
Selgitus
See valem kasutab funktsiooni SUMPRODUCT sees ühte massiivi kahte avaldist.
Esimene avaldis testib igal pühade kuupäeval, kas see on suurem kui F5 alguskuupäev või sellega võrdne:
(B4:B12>=F5)
See tagastab massiivi TRUE / FALSE väärtusi järgmiselt:
(FALSE; FALSE; FALSE; FALSE; TRUE; TRUE; TRUE; TRUE; TRUE)
Teine avaldis testib iga puhkuse kuupäeva, et näha, kas see on väiksem kui F6 lõppkuupäev või sellega võrdne:
(B4:B12<=F6)
mis tagastab massiivi TRUE / FALSE väärtusi järgmiselt:
(TRUE; TRUE; TRUE; TRUE; TRUE; TRUE; TRUE; TRUE; FALSE)
Nende kahe massiivi korrutamine sunnib TRUE / FALSE väärtused automaatselt üksuste ja nullidena, mille tulemuseks on massiivid, mis näevad välja sellised:
=SUMPRODUCT(((0;0;0;0;1;1;1;1;1))*((1;1;1;1;1;1;1;1;0)))
Pärast korrutamist on meil ainult üks selline massiiv:
=SUMPRODUCT((0;0;0;0;1;1;1;1;0))
Lõpuks summeerib SUMPRODUCT massiivi üksused ja tagastab 4.
Pühad ainult tööpäevadel
Ainult tööpäevadel (E – R) toimuvate pühade arvestamiseks võite valemit laiendada järgmiselt:
=SUMPRODUCT((rng>=F5)*(rng<=F6)*(WEEKDAY(rng,2)<6))
kus rng on vahemik, mis sisaldab pühade kuupäevi.