
Formule générique
=SEQUENCE(days,1,start_date,step)
Sommaire
Pour générer une série de dates par jour, vous pouvez utiliser la fonction SEQUENCE. Dans l'exemple illustré, la formule en E5 est:
=SEQUENCE(12,1,C4,1)
qui génère une série de 12 dates, à partir du 1er mai 2019, date en C4.
Explication
La fonction SEQUENCE est une fonction de tableau dynamique qui peut générer plusieurs résultats. Lorsqu'elle est utilisée seule sur la feuille de calcul, SEQUENCE génère un tableau de résultats qui «se répandent» sur la feuille de calcul dans une «plage de débordement».
SEQUENCE peut générer des résultats en lignes, colonnes ou lignes et colonnes. Dans cet exemple, nous demandons une séquence pour un tableau de nombres de 12 lignes par 1 colonne, en commençant par la date en C4, et en incrémentant de 1. Parce que les dates dans Excel ne sont que des numéros de série et que la date en C4 équivaut à 43586, SEQUENCE génère un tableau comme celui-ci:
(43586;43587;43588;43589;43590;43591;43592;43593;43594;43595;43596;43597)
qui se déverse dans la plage E5: E16. Lorsqu'elles sont mises en forme sous forme de dates, ces valeurs affichent 12 dates consécutives commençant le 1er mai 2019 et se terminant le 12 mai 2019.
Jours ouvrables uniquement
Pour utiliser SEQUENCE pour générer une série de dates qui sont uniquement des jours ouvrés, vous pouvez encapsuler SEQUENCE dans la fonction WORKDAY ou WORKDAY.INTL. Dans l'exemple illustré, la formule en G5 est:
(=WORKDAY.INTL(C4-1,SEQUENCE(12)))
Remarque: il s'agit d'une formule matricielle et doit être saisie avec Ctrl + Maj + Entrée. En outre, comme il s'agit d'une formule matricielle à cellules multiples, vous devez d'abord sélectionner les 12 cellules pour entrer ou modifier la formule.
Ici, dans la fonction WORKDAY, nous soustrayons d'abord 1 jour de la date de début. Nous faisons cela pour forcer WORKDAY.INTL à évaluer la date de début et à commencer la séquence à la date de début.
Ensuite, nous utilisons SEQUENCE pour générer 12 nombres séquentiels:
SEQUENCE(12)
Étant donné que les arguments colonnes, start et step sont tous facultatifs, cela génère un tableau comme celui-ci:
(1;2;3;4;5;6;7;8;9;10;11;12)
Ce sont les nombres fournis en tant qu'argument "jours" dans WORKDAY.INTL. A chaque nouvelle ligne, WORKDAY.INTL calcule une journée de travail n jours dans le futur à l'aide du tableau fourni par SEQUENCE. WORKDAY.INTL suppose automatiquement que samedi et dimanche sont des "week-ends" (et non des jours ouvrés), donc ces dates sont exclues des résultats. WORKDAY.INTL peut également être configuré pour gérer les week-ends et les jours fériés personnalisés, comme expliqué ici.