Excel-formel: Tæl helligdage mellem to datoer -

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 .

Interessante artikler...