Numérotation en séquence inversée dans Google Sheets

Imaginez que vous souhaitiez numéroter une liste à l’envers, par exemple du top 50 au top 1. Dans ce cas, vous pouvez utiliser une formule qui génère des numéros de séquence inversée dans Google Sheets.

Dans ce tutoriel, je vais vous expliquer comment générer des numéros de séquence inversée dans Google Sheets en utilisant une valeur de base personnalisée ou une valeur de base dynamique.

Par exemple, si la valeur de base est 10, je veux obtenir une numérotation (un modèle de comptage) telle que 10, 9, 8, etc. De plus, vous pouvez apprendre quelques autres choses. Les voici :

Comment générer des numéros de séquence inversée en fonction d’une valeur de base dans Google Sheets

Nous pouvons utiliser deux formules pour générer des numéros de séquence inversée dans Google Sheets. L’une utilise la combinaison des fonctions Ligne et Trier, et l’autre utilise la fonction Séquence.

Supposons que la valeur de base soit 10 et qu’elle se trouve dans la cellule C1. Pour obtenir des numéros de séquence inversée de 10 à 1, nous pouvons utiliser l’une des deux formules suivantes :

Formule 1 :
=trier(ligne(A1:A10),1,0)

La partie « ligne » de la formule génère en fait des numéros séquentiels de 1 à 10, mais la fonction « trier » inverse la sortie.

Voici la deuxième formule :

Formule 2 :
=séquence(10,1,C1,-1)

Cette deuxième formule génère 10 nombres à partir de la valeur de base 10 située dans la cellule C1. La valeur de pas est -1. Ainsi, la numérotation séquentielle est automatiquement inversée.

Formules pour générer des numéros de séquence inversée dans Google Sheets

Regardez la capture d’écran. La valeur de base se trouve, comme mentionné précédemment, dans la cellule C1. Mais l’avons-nous utilisée dans la première formule en tant que référence ?

Non ! Nous n’avons pas utilisé de référence à cette valeur de base. En fait, je vous montrais simplement la manière normale d’inverser les numéros séquentiels dans Google Sheets.

Pour prendre la valeur de base d’une cellule, ici la cellule C1, utilisez la fonction Indirect dans la première formule comme suit :

=trier(ligne(indirect("A1:A"&C1)),1,0)

Numérotation séquentielle inversée par rapport à une liste dans Google Sheets

Dans les exemples précédents, nous avons utilisé une valeur de base de 10 (vous pouvez utiliser n’importe quel autre nombre). Ainsi, la numérotation inversée se fera de ce nombre à 1.

Et si nous voulons générer des numéros de séquence inversée sans valeur de base ou en utilisant une valeur de base dynamique ?

Il existe deux scénarios différents. Si la liste ne contient aucun élément vide, nous pouvons remplacer la valeur de base précédente 10 (référence à la cellule C1) par une formule Comptenonvide (Counta en anglais) comme suit :

Formule 3 :
=séquence(comptenonvide(A2:A),1,comptenonvide(A2:A),-1)

Formule 4 :
=trier(ligne(indirect("A1:A"&comptenonvide(A2:A))),1,0)

Si la liste contient des éléments vides (A2:A14), alors les formules n’attribueront pas de numéros aux dernières lignes en fonction du nombre de cellules vides. En tenant compte de tous ces aspects, voici les formules les plus acceptables.

Au lieu de dépendre de la fonction Comptenonvide, j’utilise une formule différente pour trouver le dernier numéro de ligne contenant des valeurs dans la liste.

=equivaut(1;ArrayFormula(1/(A2:A<>""));1)

Remplacez Comptenonvide par cette formule dans les deux formules précédentes pour générer des numéros séquentiels inversés dans Google Sheets. Les formules seront les suivantes :

Formule 5 :
=séquence(equivaut(1;ArrayFormula(1/(A2:A<>""));1),1,equivaut(1;ArrayFormula(1/(A2:A<>""));1),-1)

Nous n’avons pas besoin de ces multiples formules matricielles dans la fonction ci-dessus. Voici la forme la plus acceptée :

=ArrayFormula(séquence(equivaut(1;1/(A2:A<>""),1),1,equivaut(1;1/(A2:A<>""),1),-1))

Formule 6 :
=trier(ligne(indirect("A1:A"&equivaut(1;ArrayFormula(1/(A2:A<>"")),1))),1,0)

Dans ce cas également, nous pouvons réécrire la formule. La formule contient déjà la fonction SORT, donc la fonction ArrayFormula n’est même pas requise.

=trier(ligne(indirect("A1:A"&equivaut(1;1/(A2:A<>"")),1)),1,0)

J’espère que vous avez réussi à générer des numéros de séquence inversée en utilisant les formules ci-dessus dans Google Sheets. Il est maintenant temps de passer au niveau supérieur.

Numéros de séquence inversée uniquement contre des valeurs (en laissant des cases vides)

Ici aussi, nous pouvons utiliser les fonctions Séquence ou Ligne pour les formules. Pour éviter toute confusion, je vais utiliser la fonction Séquence. Mais avant cela, voyons ce que nous allons faire.

Comme vous pouvez le voir, la colonne B contient des numéros séquentiels inversés uniquement dans la ligne contenant une valeur dans la colonne A. Comment y parvenir ?

Voici les instructions étape par étape.

Veuillez noter que dans un premier temps, vous obtiendrez uniquement des formules individuelles. Nous combinerons ensuite les formules à chaque étape pour pouvoir utiliser une seule formule pour remplir les numéros séquentiels inversés dans les lignes contenant des valeurs.

Étape 1 :
Filtrez les numéros de ligne pour les lignes contenant des valeurs dans la colonne A. Insérez cette formule de filtre dans la cellule D2.

=filtre(ligne(A2:A),A2:A<>"")

Étape 2 :
Remplissez les numéros séquentiels inversés contre les valeurs de D2:D, c’est-à-dire contre la sortie de la formule ci-dessus. La formule à insérer dans la cellule E2.

=séquence(comptenonvide(A2:A),1,comptenonvide(A2:A),-1)

Étape 3 :
Recherchez les numéros de ligne A2:A dans D2:E. Cela signifie recherchez les numéros de ligne A2:A dans la première colonne de D2:D et renvoyez la valeur de la colonne E2:E. La formule à saisir dans la cellule B2.

=ArrayFormula(sierreur(recherchev(ligne(A2:A),D2:E,2,0)))

Étape 4 (dernière étape) :
Remplacez D2:E dans la recherchev de la cellule B2 par les formules correspondantes, c’est-à-dire par {filtre(ligne(A2:A),A2:A<>"");séquence(comptenonvide(A2:A),1,comptenonvide(A2:A),-1)}.

Voici la formule finale pour générer des numéros séquentiels inversés en laissant des cases vides dans Google Sheets.

=ArrayFormula(sierreur(recherchev(ligne(A2:A),{filtre(ligne(A2:A),A2:A<>"");séquence(comptenonvide(A2:A),1,comptenonvide(A2:A),-1)},2,0)))

Numérotation séquentielle inversée infinie dans Google Sheets

Supposons que vous ayez une feuille avec 100 lignes et que vous souhaitiez une numérotation séquentielle inversée dans toutes ces lignes et les lignes futures (s’il y en a).

Dans ce cas, vous devez considérer une valeur de base pour commencer la numérotation dans l’ordre inverse, et cette valeur serait 100 si la numérotation commence à partir de la ligne n°1 ou 99 si la numérotation commence à partir de la ligne n°2.

Il n’est pas pratique de saisir la valeur de base comme indiqué ci-dessus. Voici une alternative en utilisant la fonction Lignes.

=séquence(lignes(A1:A),1,lignes(A1:A),-1)

Modifiez « lignes(A1:A) » en « lignes(A2:A) » si la formule se trouve à la ligne n°2, « lignes(A3:A) » si la formule se trouve à la ligne n°3, et ainsi de suite. J’espère que vous avez bien compris.

C’est tout. Amusez-vous bien !


Resources:

Articles en lien