«

»

Fonction INDEX

La fonction INDEX permet de retourner une valeur à l’intersection d’une ligne et d’une colonne dans un tableau.

Présentation de la fonction INDEX




La fonction INDEX retourne une valeur ou une référence et est obligatoirement constituée de 3 paramètres :

  • Les références d’une plage de cellules contenant la valeur à retourner
  • L’index de la ligne
  • L’index de colonne
  • [optionnel] numéro de zone (dans le cas de plusieurs références)

L’ordre des paramètres est très important. Bien souvent, les utilisateurs inversent le paramètre de la ligne et de la colonne et forcément, la fonction ne retourne pas le bon résultat.

 

Fonction INDEX à 1 dimension

Dans l’exemple ci-dessous, nous avons 2 tableaux à 1 dimension.

La première formule (couleur orange) nous permet de récupérer le jour de la semaine en fonction de la valeur écrite en cellule D7. Ici nous avons la valeur 4 et si vous changez cette valeur, vous voyez que la donnée retournée par la fonction affichera un jour de la semaine différent. Si vous mettez 1 vous aurez en E7 la valeur « Lundi » correspondant à la première valeur de notre plage de données C3:I3. Notez que le 2e paramètre de la fonction est laissé vide.

=INDEX(C3:I3;;7)

Pour le deuxième exemple (en gris), en changeant la valeur de la cellule D8, vous affichez en E8 un mois différent. Cette fois ci, c’est le 3e paramètre de la formule qui est manquant car notre plage de référence ne contient qu’une colonne et donc le paramètre de la ligne est superflu.

=INDEX(A2:A13;E8)

La fonction INDEX à 2 dimensions

L’intérêt de la fonction INDEX c’est de travailler dans un tableau à 2 dimensions en renseignant les 2 paramètres (ligne et colonne).

Prenons l’exemple de la grille de salaire suivante.




Nous voulons récupérer le niveau de salaire en renseignant la ligne et  la colonne de notre tableau de données dans les cellules B3 et B4. Nous allons donc utiliser la fonction INDEX pour indiquer que nous allons récupérer la valeur à l’intersection de la quatrième ligne et de la deuxième colonne.

=INDEX(B7:G12;B3;B4)

Remarque très importante : pour que votre fonction retourne la bonne valeur, il est indispensable que votre plage de données ne prenne pas en compte les entêtes de ligne et de colonne.

Rendre la fonction dynamique

Mais au lieu de devoir systématiquement changer les paramètres de la ligne et de la colonne à retourner, l’idéal serait d’utiliser les valeurs contenues en en-têtes de ligne ou de colonne pour extraire un résultat.

Dans notre exemple, pour les lignes, ce n’est pas très difficile. Il suffit de rajouter 1 à l’indice du tableau et votre formule fonctionne.

=INDEX(B7:G12;B3+1

Par contre, pour les colonnes, cela ne fonctionne pas car les valeurs ne sont pas linéaires (nous passons de 2, puis à 5, puis à 10, …). Nous allons devoir nous aider de la fonction EQUIV qui va nous retourner le nième élément d’une liste (il est vraiment important de s’attarder sur la fonction EQUIV pour comprendre la formule suivante).

Changez soit le nombre d’années d’étude ou d’expérience dans le classeur intégré ci-dessous pour voir le résultat changer immédiatement dans le classeur.

=INDEX(B7:G12;B3+1;EQUIV(B4;B6:G6;0))

Multi-tableaux

La fonction INDEX permet également de faire des recherches dans plusieurs tableaux dans la même fonction et là, il est indispensable de renseigner le quatrième paramètre de la fonction pour indiquer dans quel tableau nous allons récupérer une valeur.




Note personnel : Je vous montre cet exemple parce que ça fait partie des écritures possibles de la fonction INDEX mais je ne l’ai jamais vu utilisée dans aucun classeur. A la limite, passez directement au point suivant.

Ici, nous avons 3 tableaux qui ne sont pas de même taille et nous souhaitons récupérer l’information en ligne 2 et colonne 4 de l’un de ces tableaux dont le paramètre est écrit en H8. Comme nous avons plusieurs tableaux, nous devons écrire leurs références entre parenthèses. Nous écrivons alors la formule suivante :

=INDEX((A2:D5;F4:I5;B9:E11);2;4;H8)

Changez la valeur du tableau pour retourner une donnée depuis un nouveau tableau

Renvoi d’une référence

La fonction INDEX renvoie une valeur comme nous l’avons vu dans les exemples précédents mais elle renvoie également la référence d’une cellule 😕

Alors évidemment, ce n’est pas simple à comprendre surtout que vous ne verrez jamais la fonction INDEX renvoyer A1, C4, D8, B2, …. Par contre, nous pouvons illustrer cette fonctionnalité en intégrant la fonction INDEX dans une fonction SOMME.

Dans l’exemple ci-dessous, vous avez un document qui synthétise vos ventes de l’année. Changez la valeur du mois dans le classeur suivant.

La fonction EQUIV va repérer où se trouve cette valeur dans la colonne A (soit la ligne de la référence). Ensuite, le 3ème paramètre de la fonction INDEX va servir à créer la colonne de la référence. Au final, la fonction INDEX va retourner une référence qui va être utilisée dans la fonction SOMME. De cet façon, vous avez construit un tableau entièrement dynamique 🙂






Lien Permanent pour cet article : https://www.excel-exercice.com/index/

(1 commentaire)

3 pings

  1. Anonyme

    yes indeed

  1. Faire une recherche décalée

    […] Fonction INDEX […]

  2. Excel sur son téléphone portable

    […] Fonction INDEX […]

  3. Comment faire une RECHERCHEV vers la gauche ?

    […] Fonction INDEX […]

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Advertisment ad adsense adlogger