Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
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.
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,
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.