
Generisk formel
=SUMPRODUCT((holidays>=start)*(holidays<=end))
Resumé
For at tælle helligdage, der finder sted mellem to datoer, kan du bruge funktionen SUMPRODUCT.
I det viste eksempel er formlen i F8:
=SUMPRODUCT((B4:B12>=F5)*(B4:B12<=F6))
Forklaring
Denne formel bruger to udtryk i et enkelt array inde i SUMPRODUCT-funktionen.
Det første udtryk tester hver feriedato for at se, om den er større end eller lig med startdatoen i F5:
(B4:B12>=F5)
Dette returnerer en matrix med SAND / FALSK-værdier som denne:
(FALSK; FALSK; FALSK; FALSK; SAND; SAND; SAND; SAND; SAND)
Det andet udtryk tester hver feriedato for at se, om det er mindre end eller lig med slutdatoen i F6:
(B4:B12<=F6)
der returnerer en matrix med SAND / FALSK-værdier som denne:
(SAND; SAND; SAND; SAND; SAND; SAND; SAND; SAND; FALSK)
Multiplikationen af disse to arrays tvinger automatisk de SANDE / FALSE-værdier til ener og nuller, hvilket resulterer i matriser, der ser sådan ud:
=SUMPRODUCT(((0;0;0;0;1;1;1;1;1))*((1;1;1;1;1;1;1;1;0)))
Efter multiplikation har vi kun et array som dette:
=SUMPRODUCT((0;0;0;0;1;1;1;1;0))
Endelig summerer SUMPRODUCT elementerne i arrayet og returnerer 4.
Helligdage kun på hverdage
For at tælle helligdage, der kun finder sted på hverdage (man-fre), kan du udvide formlen sådan:
=SUMPRODUCT((rng>=F5)*(rng<=F6)*(WEEKDAY(rng,2)<6))
hvor rng er et interval, der indeholder feriedatoer .