
Obecný vzorec
=SUMPRODUCT((holidays>=start)*(holidays<=end))
souhrn
Chcete-li počítat svátky, které nastanou mezi dvěma daty, můžete použít funkci SUMPRODUCT.
V zobrazeném příkladu je vzorec v F8:
=SUMPRODUCT((B4:B12>=F5)*(B4:B12<=F6))
Vysvětlení
Tento vzorec používá dva výrazy v jednom poli uvnitř funkce SUMPRODUCT.
První výraz testuje každé sváteční datum, aby zjistil, zda je větší nebo rovno počátečnímu datu ve F5:
(B4:B12>=F5)
Tím se vrací pole TRUE / FALSE hodnot takto:
(NEPRAVDA; NEPRAVDA; NEPRAVDA; NEPRAVDA; PRAVDA; PRAVDA; PRAVDA; PRAVDA; PRAVDA)
Druhý výraz testuje každé sváteční datum, aby se zjistilo, zda je menší nebo rovno koncovému datu v F6:
(B4:B12<=F6)
který vrací pole TRUE / FALSE hodnot takto:
(PRAVDA; PRAVDA; PRAVDA; PRAVDA; PRAVDA; PRAVDA; PRAVDA; PRAVDA; NEPRAVDA)
Násobení těchto dvou polí automaticky vynucuje hodnoty TRUE / FALSE na jedničky a nuly, což má za následek pole, která vypadají takto:
=SUMPRODUCT(((0;0;0;0;1;1;1;1;1))*((1;1;1;1;1;1;1;1;0)))
Po násobení máme jen jedno pole, jako je toto:
=SUMPRODUCT((0;0;0;0;1;1;1;1;0))
Nakonec SUMPRODUCT sečte položky v poli a vrátí 4.
Svátky pouze ve všední dny
Chcete-li počítat svátky, které se vyskytují pouze ve všední dny (pondělí až pátek), můžete vzorec rozšířit takto:
=SUMPRODUCT((rng>=F5)*(rng<=F6)*(WEEKDAY(rng,2)<6))
kde rng je řada obsahující sváteční data.