Comment faire pour remplir automatiquement les dates entre deux dates données dans Google Sheets

J’ai deux dates dans une feuille de calcul : une date de début et une date de fin. Je souhaite maintenant remplir toutes les dates entre ces deux dates dans une colonne ou une ligne. Dans Google Sheets, vous pouvez remplir automatiquement les dates entre deux dates données à l’aide d’une formule matricielle.

Je vais vous expliquer comment étendre deux dates dans Google Doc Spreadsheets.

Dans l’exemple ci-dessus, j’ai une date de début dans la cellule A2 et une date de fin dans la cellule B2.

Grâce à une seule formule dans la cellule D2, j’ai répertorié toutes les dates entre ces deux dates, y compris la date de début et la date de fin. Comment ?

Remplir automatiquement les dates entre deux dates données verticalement dans Google Sheets

J’ai deux formules de type combinaison basées sur :

  1. ROW et INDIRECT
  2. DAYS/DATEDIF et SEQUENCE

La première solution est plus couramment utilisée, vous pouvez donc la choisir. Passons aux formules.

1. Formule ROW et INDIRECT

Voici ma première formule : =ArrayFormula(TO_DATE(row(indirect("A"&A2):indirect("A"&B2))))

Vous pouvez utiliser cette formule pour obtenir toutes les dates entre deux dates données verticalement dans Google Sheets. Ici, dans cette formule, A2 contient la date de début et B2 contient la date de fin.

Il vous suffit de modifier ces références de cellules en fonction de la date de début et de la date de fin de votre feuille.

La logique/explication de la formule est la suivante :

Que feriez-vous si vous souhaitez remplir automatiquement des numéros de série continus (numéros séquentiels) dans une colonne ?

Par exemple, je veux les numéros de série de 1 à 50 dans une colonne. Ce que je vais faire, c’est utiliser la fonction ROW dans une formule matricielle comme ci-dessous :
=ArrayFormula(row(A1:A50))

Cette formule ROW listera les numéros de 1 à 50 dans la colonne où vous l’appliquez.

Ici, la valeur de Row(A1) est 1, et Row(A50) est 50.

Maintenant, voyez la formule ci-dessous qui utilise la fonction Indirect :
=row(indirect("A"&A2))

Si vous utilisez cette formule, elle renverra 43191, la valeur de la date dans la cellule A2.

En suivant la même logique, je fais référence à la cellule B2 dans la formule suivante :
=row(indirect("A"&B2))

Cette formule renverra le nombre 43205. Maintenant, vous pouvez deviner la suite, n’est-ce pas ?

Voyez ma formule maîtresse ci-dessus, où j’ai utilisé ces deux fonctions combo Row et Indirect pour remplir les nombres entre les nombres 43191 et 43205.

Ce sont les dates non formatées du 01/04/2018 au 15/04/2018. À l’aide de la fonction To_Date, j’ai converti ces valeurs de date en dates. C’est tout.

Ce n’est pas la seule solution pour remplir automatiquement les dates entre deux dates données verticalement dans Google Sheets. Passons à une autre formule.

2. Formule DAYS/DATEDIF et SEQUENCE

Voici la formule à utiliser : =sequence(days(B2,A2)+1,1,A2)

Permettez-moi d’expliquer cette formule brièvement à l’aide de sa syntaxe, c’est-à-dire SEQUENCE(rows, columns, start).

  • rows : Le nombre de jours entre les dates dans les cellules B2 et A2 pour renvoyer le résultat dans autant de lignes.
  • columns : 1 (le nombre de colonnes dans le résultat)
  • start : A2 (début de la séquence)

Le résultat de la formule ci-dessus sera des valeurs de date (format numérique). Pour obtenir le format de date, faites ce qui suit :

  1. Sélectionnez la plage de résultats.
  2. Allez dans le menu Format > Nombre > Date.

J’aurais pu utiliser la fonction To_date avec cette formule pour formater automatiquement le résultat de numérique à une date. Mais j’ai choisi de ne pas l’utiliser car elle nécessite la fonction ArrayFormula pour se développer.

Dans la formule n°1, j’ai utilisé To_date car la fonction Row dans celle-ci requiert de toute façon l’ArrayFormula.

Ce qui précède est une autre solution pour remplir automatiquement les informations entre deux dates données dans Google Sheets.

En passant, si vous souhaitez remplacer Days par Datedif, utilisez la formule suivante :
=sequence(datedif(A2,B2,"D")+1,1,A2)

Remplir automatiquement les dates entre deux dates données horizontalement dans Google Sheets

Dans certaines occasions, vous souhaiterez peut-être remplir les dates horizontalement, comme dans l’en-tête d’un diagramme de Gantt. Voyons donc comment faire cela avec les deux formules ci-dessus.

Dans la première formule, j’utiliserai la fonction TRANSPOSE pour changer l’orientation des dates automatiquement remplies. Mais l’emplacement de la fonction est crucial. Il doit être comme suit :
=ArrayFormula(TRANSPOSE(TO_DATE(row(indirect("A"&A2):indirect("A"&B2)))))

Dans la deuxième formule, vous pouvez soit utiliser la Transpose, soit modifier légèrement les éléments (référence/expression). Je préfère la dernière solution :
=sequence(1,datedif(A2,B2,"D")+1,A2)

Utilisation avancée de l’expansion des dates dans Google Sheets

Vous avez appris comment remplir automatiquement des dates entre deux dates données dans Google Sheets.

Vous pouvez utiliser les astuces ci-dessus, c’est-à-dire étendre les dates entre deux dates, dans Vlookup dans Google Sheets pour surmonter l’un de ses inconvénients ! Quel est-il ?

Dans Google Sheets, dans une colonne de dates non triées, la fonction Vlookup ne peut rechercher que les dates « physiquement disponibles » dans les cellules.

Vous ne pouvez pas fournir deux dates et forcer Vlookup à rechercher une date qui se situe entre les deux dates fournies.

Donc, dans ces cas-là, vous pouvez envisager d’étendre les dates de début et de fin comme indiqué ci-dessus et de reproduire les valeurs de colonne correspondantes à utiliser dans Vlookup.

Vous ne comprenez toujours pas ? Consultez ce tutoriel avancé sur Vlookup exclusivement sur Info Inspired.

Merci pour votre attention. Amusez-vous bien !

Articles en lien