Formule Excel: Liste des jours fériés entre deux dates -

Table des matières

Formule générique

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

Sommaire

Pour répertorier les jours fériés qui surviennent entre deux dates, vous pouvez utiliser une formule basée sur les fonctions TEXTJOIN et IF.

Dans l'exemple illustré, la formule en F8 est:

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

Il s'agit d'une formule matricielle et doit être saisie avec Ctrl + Maj + Entrée.

Explication

À un niveau élevé, cette formule utilise une fonction IF imbriquée pour renvoyer un tableau de jours fériés entre deux dates. Ce tableau est ensuite traité par la fonction TEXTJOIN, qui convertit le tableau en texte en utilisant une virgule comme délimiteur.

En travaillant de l'intérieur vers l'extérieur, nous générons le tableau des jours fériés correspondants à l'aide d'un IF imbriqué:

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

Si les dates dans B4: B12 sont supérieures ou égales à la date de début dans F5, et si les dates dans B4: B12 sont inférieures ou égales à la date de fin dans F6, alors IF renvoie un tableau de jours fériés. Dans l'exemple illustré, la liste ressemble à ceci:

(""; ""; "Présidents Day"; "Memorial Day"; ""; ""; ""; ""; "")

Ce tableau est ensuite livré à la fonction TEXTJOIN comme text1 argument où le séparateur est réglé sur « » et ignore_empty est VRAI. La fonction TEXT JOIN traite les éléments du tableau et renvoie une chaîne dans laquelle chaque élément non vide est séparé par une virgule plus un espace.

Remarque: la fonction TEXTJOIN est une nouvelle fonction disponible dans Office 365 et Excel 2019.

Articles intéressants...