
Generisk formel
=SUMPRODUCT((holidays>=start)*(holidays<=end))
Sammanfattning
För att räkna helgdagar som inträffar mellan två datum kan du använda SUMPRODUCT-funktionen.
I exemplet som visas är formeln i F8:
=SUMPRODUCT((B4:B12>=F5)*(B4:B12<=F6))
Förklaring
Den här formeln använder två uttryck i en enda grupp i SUMPRODUCT-funktionen.
Det första uttrycket testar varje semesterdatum för att se om det är större än eller lika med startdatumet i F5:
(B4:B12>=F5)
Detta returnerar en array med SANT / FALSKA värden så här:
(FALSE; FALSE; FALSE; FALSE; TRUE; TRUE; TRUE; TRUE; TRUE)
Det andra uttrycket testar varje semesterdatum för att se om det är mindre än eller lika med slutdatumet i F6:
(B4:B12<=F6)
som returnerar en matris med SANT / FALSKA värden så här:
(SANT; SANT; SANT; SANT; SANT; SANT; SANT; SANT; FALSK)
Multiplikationen av dessa två matriser tvingar automatiskt TRUE / FALSE värden till en och nollor, vilket resulterar i matriser som ser ut så här:
=SUMPRODUCT(((0;0;0;0;1;1;1;1;1))*((1;1;1;1;1;1;1;1;0)))
Efter multiplikation har vi bara en matris så här:
=SUMPRODUCT((0;0;0;0;1;1;1;1;0))
Slutligen summerar SUMPRODUCT objekten i matrisen och returnerar 4.
Helgdagar endast på vardagar
För att räkna helgdagar som endast inträffar på vardagar (må-fre) kan du utöka formeln så här:
=SUMPRODUCT((rng>=F5)*(rng<=F6)*(WEEKDAY(rng,2)<6))
där rng är ett intervall som innehåller semesterdatum.