Excel-formule: tel feestdagen tussen twee datums -

Generieke formule

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

Samenvatting

Om vakanties tussen twee datums te tellen, kunt u de functie SOMPRODUCT gebruiken.

In het getoonde voorbeeld is de formule in F8:

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

Uitleg

Deze formule gebruikt twee expressies in een enkele array binnen de functie SOMPRODUCT.

De eerste uitdrukking test elke vakantiedatum om te zien of deze groter is dan of gelijk is aan de startdatum in F5:

(B4:B12>=F5)

Dit retourneert een reeks TRUE / FALSE-waarden als volgt:

(FALSE; FALSE; FALSE; FALSE; TRUE; TRUE; TRUE; TRUE; TRUE)

De tweede uitdrukking test elke vakantiedatum om te zien of deze kleiner is dan of gelijk is aan de einddatum in F6:

(B4:B12<=F6)

die als volgt een array van WAAR / ONWAAR waarden retourneert:

(TRUE; TRUE; TRUE; TRUE; TRUE; TRUE; TRUE; TRUE; FALSE)

De vermenigvuldiging van deze twee arrays dwingt automatisch de TRUE / FALSE-waarden naar enen en nullen, wat resulteert in arrays die er als volgt uitzien:

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

Na vermenigvuldiging hebben we slechts één array zoals deze:

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

Ten slotte telt SOMPRODUCT de items in de array op en retourneert 4.

Feestdagen alleen op weekdagen

Om vakanties te tellen die alleen op weekdagen plaatsvinden (ma-vr), kunt u de formule als volgt uitbreiden:

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

waarbij rng een bereik is dat vakantiedata bevat.

Interessante artikelen...