Formula Excel: elenca i giorni festivi tra due date -

Sommario

Formula generica

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

Sommario

Per elencare le festività che si verificano tra due date, puoi utilizzare una formula basata sulle funzioni TEXTJOIN e IF.

Nell'esempio mostrato, la formula in F8 è:

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

Questa è una formula di matrice e deve essere inserita con CTRL + MAIUSC + INVIO.

Spiegazione

Ad un livello elevato, questa formula utilizza una funzione SE nidificata per restituire una matrice di festività tra due date. Questo array viene quindi elaborato dalla funzione TEXTJOIN, che converte l'array in testo utilizzando una virgola come delimitatore.

Lavorando dall'interno verso l'esterno, generiamo l'array di vacanze corrispondenti utilizzando un IF annidato:

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

Se le date in B4: B12 sono maggiori o uguali alla data di inizio in F5 e se le date in B4: B12 sono minori o uguali alla data di fine in F6, IF restituisce una matrice di festività. Nell'esempio mostrato, l'elenco ha questo aspetto:

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

Questo array viene quindi consegnato alla funzione TEXTJOIN come argomento text1 , dove il delimitatore è impostato su "," e ignore_empty è TRUE. La funzione TEXT JOIN elabora gli elementi nell'array e restituisce una stringa in cui ogni elemento non vuoto è separato da una virgola più uno spazio.

Nota: la funzione TEXTJOIN è una nuova funzione disponibile in Office 365 ed Excel 2019.

Articoli interessanti...