formateur informatique

Inverser l'ordre des lignes des tableaux Excel par formule

Accueil  >  Bureautique  >  Excel  >  Excel Avancé  >  Inverser l'ordre des lignes des tableaux Excel par formule
Livres à télécharger


Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :


Inscription Newsletter    Abonner à Youtube    Vidéos astuces Instagram
Sujets que vous pourriez aussi aimer :


Inverser un tableau Excel

Parfois, pour des raisons de commodité, on peut avoir besoin d'inverser l'ordre des lignes d'un tableau tout en conservant l'organisation des colonnes. Et lorsque les tris sont inopérants à ce sujet, c'est une fois encore la fonction Sequence qui entre en lice, associée à la fonction Index pour l'extraction.

Classeur Excel à télécharger
Nous suggérons d'appuyer les travaux sur un classeur hébergeant les données d'un tableau à inverser. Nous découvrons un tableau entre les colonnes B et D. Sur sa droite, entre les colonnes F et H, une grille de structure jumelle, attend son extraction pour produire la réorganisation inversée de ses données.

Tableau Excel à inverser par formule

Si vous déployez la zone Nom en haut à gauche de la feuille Excel, vous constatez que le tableau à traiter est nommé tab. Nous exploiterons ce nom dans la construction de la formule.

La fonction d'extraction
Pour débuter l'extraction du tableau dans sa structure jumelle, nous devons employer la fonction dédiée à cet effet, la fonction Index.
  • Sélectionner la première case de la grille d'extraction en cliquant sur la cellule F4,
  • Taper le symbole égal (=) pour initier la syntaxe de la formule,
  • Inscrire la fonction d'extraction, suivie d'une parenthèse, soit : Index(,
  • Désigner le tableau à traiter par son nom, soit : tab,
  • Puis, taper un point-virgule (;) pour passer dans l'argument du numéro de ligne,
Les lignes à extraire
Nous l'avons évoqué dans le volet précédent, la fonction Index n'est pas une fonction matricielle. Dans sa version classique, elle permet seulement d'extraire l'information située à l'intersection d'un numéro de ligne et d'un numéro de colonne. Or, nous souhaitons restituer les données de chaque colonne pour chaque ligne. Là aussi, comme dans le volet précédent, l'astuce consiste à embarquer la fonction matricielle Sequence dans la fonction Index. Comme vous le savez, cette fonction matricielle permet de construire des suites de numéros, ici en l'occurrence pour désigner toutes les lignes à extraire.
  • Inscrire la fonction de suite logique, suivie d'une parenthèse, soit : Sequence(,
En premier argument, elle attend l'indication définissant le nombre de lignes qui doivent composer la suite à créer. Cette quantité doit être identique au nombre de lignes du tableau d'origine. Et c'est la fonction Lignes qui renseigne sur cette dimension.
  • Inscrire cette fonction de décompte, suivie d'une parenthèse, soit : Lignes(,
  • Désigner le tableau par son nom, soit : tab,
  • Puis, fermer la parenthèse de la fonction Lignes,
A partir de la dernière ligne
Cette suite que nous sommes en train de créer, nous devons la faire progresser de la dernière ligne à la première, pour inverser le tableau d'origine.
  • Taper deux points-virgules (;;) pour ignorer l'argument sur le nombre de colonnes,
Ainsi, nous nous retrouvons dans l'argument du point de départ de la suite. Pour partir de la fin, nous devons de nouveau exploiter la fonction Lignes.
  • Inscrire la fonction de décompte, suivie d'une parenthèse, soit : Lignes(,
  • Désigner de nouveau le tableau par son nom, soit : tab,
  • Fermer la parenthèse de la fonction Lignes,
  • Taper un point-virgule (;) pour passer dans l'argument du pas de la suite,
  • Taper le symbole moins suivi du chiffre 1, soit : -1,
  • Puis, fermer la parenthèse de la fonction Sequence,
C'est ainsi que nous créons une suite décroissante parcourant toutes les lignes du tableau en partant de la dernière pour rejoindre la première.

Les colonnes à extraire
Nous n'en avons pas encore terminé. Grâce à la fonction Sequence embarquée dans l'argument de la ligne de la fonction Index, nous venons de définir le nombre de lignes à extraire et dans quel ordre. Nous devons maintenant définir le nombre de colonnes à extraire, toujours grâce à la fonction Sequence, mais cette fois dans le troisième argument de la fonction Index. De plus, aucune spécificité d'organisation n'est attendue. Nous les prenons telles qu'elles se présentent, soit dans le même ordre que le tableau d'origine.
  • Taper un point-virgule (;) pour passer dans l'argument de la colonne pour la fonction Index,
  • Inscrire la fonction de suite logique, suivie d'une parenthèse, soit : Sequence(,
  • Taper un point-virgule (;) pour ignorer l'argument sur le nombre de lignes,
Celui-ci est en effet déjà défini, avec l'ordre d'extraction, en premier paramètre de la fonction Index. De fait, nous nous retrouvons dans l'argument du nombre de colonnes pour cette fonction Sequence. Il doit coïncider avec le nombre de colonnes du tableau. Cette fois, c'est la fonction Colonnes qui livre cette information.
  • Inscrire cette fonction de décompte, suivie d'une parenthèse, soit : Colonnes(,
  • Désigner de nouveau le tableau par son nom, soit : tab,
  • Fermer la parenthèse de la fonction Colonnes,
  • Fermer la parenthèse de la fonction Sequence,
  • Fermer la parenthèse de la fonction Index,
  • Enfin, valider la formule matricielle par la touche Entrée du clavier,
Inverser l-ordre des lignes du tableau Excel par formule

Comme vous pouvez l'apprécier, le tableau final est effectivement complètement réorganisé à l'envers. De plus, si nous avions rendu dynamique la plage tab à l'aide de la fonction Decaler, nous aurions pu réaliser cette réorganisation au fil de la saisie dans le premier tableau, au gré des nouvelles entrées ajoutées à la suite.

Enfin et vous l'avez compris, nous avons choisi de réorganiser l'intégralité des données du tableau. Mais grâce aux deux fonctions Sequence, nous aurions pu limiter le nombre de colonnes et de lignes à extraire et à inverser.

 
Sur Facebook
Sur Youtube
Les livres
Contact
Mentions légales



Abonnement à la chaîne Youtube
Partager la formation
Partager sur Facebook
Partager sur Twitter
Partager sur LinkedIn