
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.