Excel-formel: Telle helligdager mellom to datoer -

Generisk formel

=SUMPRODUCT((holidays>=start)*(holidays<=end))

Sammendrag

For å telle helligdager som skjer mellom to datoer, kan du bruke SUMPRODUCT-funksjonen.

I eksemplet vist er formelen i F8:

=SUMPRODUCT((B4:B12>=F5)*(B4:B12<=F6))

Forklaring

Denne formelen bruker to uttrykk i en enkelt matrise i SUMPRODUCT-funksjonen.

Det første uttrykket tester hver høytidsdato for å se om den er større enn eller lik startdatoen i F5:

(B4:B12>=F5)

Dette returnerer en rekke SANNE / FALSE verdier slik:

(FALSK; FALSK; FALSK; FALSK; SANN; SANN; SANN; SANN; SANN)

Det andre uttrykket tester hver høytidsdato for å se om den er mindre enn eller lik sluttdatoen i F6:

(B4:B12<=F6)

som returnerer en matrise med SANNE / FALSE verdier slik:

(SANN; SANN; SANN; SANN; SANN; SANN; SANN; SANN; FALSK)

Multiplikasjonen av disse to matriser tvinger automatisk de SANNE / FALSE verdiene til ener og nuller, noe som resulterer i matriser som ser slik ut:

=SUMPRODUCT(((0;0;0;0;1;1;1;1;1))*((1;1;1;1;1;1;1;1;0)))

Etter multiplikasjon har vi bare ett utvalg som dette:

=SUMPRODUCT((0;0;0;0;1;1;1;1;0))

Til slutt summerer SUMPRODUCT elementene i matrisen og returnerer 4.

Ferier kun på hverdager

For å telle helligdager som bare skjer på hverdager (man-fre), kan du utvide formelen slik:

=SUMPRODUCT((rng>=F5)*(rng<=F6)*(WEEKDAY(rng,2)<6))

der rng er et område som inneholder feriedatoer .

Interessante artikler...