Excel-formule: lijst met feestdagen tussen twee datums -

Inhoudsopgave

Generieke formule

(=TEXTJOIN(", ",TRUE,IF(dates>=start,IF(dates<=end,holidays,""),"")))

Samenvatting

Om vakanties weer te geven die tussen twee datums voorkomen, kunt u een formule gebruiken die is gebaseerd op de TEXTJOIN- en IF-functies.

In het getoonde voorbeeld is de formule in F8:

(=TEXTJOIN(", ",TRUE,IF(B4:B12>=F5,IF(B4:B12<=F6,C4:C12,""),"")))

Dit is een matrixformule en moet worden ingevoerd met control + shift + enter.

Uitleg

Op een hoog niveau gebruikt deze formule een geneste ALS-functie om een ​​reeks feestdagen tussen twee datums te retourneren. Deze array wordt vervolgens verwerkt door de TEXTJOIN-functie, die de array naar tekst converteert met een komma als scheidingsteken.

We werken van binnen naar buiten en genereren de reeks overeenkomende vakanties met behulp van een geneste IF:

IF(B4:B12>=F5,IF(B4:B12<=F6,C4:C12,""),"")

Als de datums in B4: B12 groter zijn dan of gelijk zijn aan de startdatum in F5, en als de datums in B4: B12 kleiner zijn dan of gelijk zijn aan de einddatum in F6, dan retourneert IF een reeks feestdagen. In het getoonde voorbeeld ziet de lijst er als volgt uit:

(""; ""; "Presidents Day"; "Memorial Day"; ""; ""; ""; ""; "")

Deze array wordt dan geleverd aan de TEXTJOIN-functie als het text1- argument, waarbij het scheidingsteken is ingesteld op "," en ignore_empty TRUE is. De TEXT JOIN-functie verwerkt de items in de array en retourneert een tekenreeks waarbij elk niet-leeg item wordt gescheiden door een komma plus spatie.

Let op: de TEXTJOIN-functie is een nieuwe functie die beschikbaar is in Office 365 en Excel 2019.

Interessante artikelen...