Excel-formel: Lista helgdagar mellan två datum -

Innehållsförteckning

Generisk formel

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

Sammanfattning

För att lista helgdagar som inträffar mellan två datum kan du använda en formel baserad på funktionerna TEXTJOIN och IF.

I exemplet som visas är formeln i F8:

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

Detta är en matrisformel och måste anges med kontroll + skift + enter.

Förklaring

På hög nivå använder denna formel en kapslad IF-funktion för att returnera en matris med helgdagar mellan två datum. Denna matris bearbetas sedan av TEXTJOIN-funktionen, som konverterar matrisen till text med ett kommatecken som avgränsare.

Arbetar inifrån och ut, genererar vi en rad matchande helgdagar med hjälp av en kapslad IF:

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

Om datumen i B4: B12 är större än eller lika med startdatumet i F5, och om datumen i B4: B12 är mindre än eller lika med slutdatumet i F6, returnerar IF en rad med helgdagar. I exemplet som visas ser listan ut så här:

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

Denna matris levereras sedan till TEXTJOIN-funktionen som text1- argumentet, där avgränsaren är inställd på "," och ignorera_sätt är SANT. Funktionen TEXT JOIN bearbetar objekten i matrisen och returnerar en sträng där varje objekt som inte är tom separeras med ett komma plus mellanslag.

Obs! TEXTJOIN-funktionen är en ny funktion tillgänglig i Office 365 och Excel 2019.

Intressanta artiklar...