Fonction INDEX

Temps de lecture 3 minutes

La fonction INDEX permet de retourner une valeur en se basant sur sa position

INDEX ou RECHERCHEV

Dans Excel, il y a plusieurs fonctions qui permettent de récupérer une valeur dans un tableau. Il y a

Les fonctions RECHERCHEV et INDEX se distinguent par leur méthode de recherche.

  • RECHERCHEV se base sur la recherche d'une valeur
  • INDEX effectue la recherche en se basant sur UNE POSITION (comme 3e ligne ou 2e colonne)
INDEX retourne une position

Comment se construit la fonction

La fonction INDEX a besoin de 3 paramètres et 1 optionnel :

  • 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)

Retourner selon la position dans une liste

Dans l'exemple ci-dessous, nous avons les jours de la semaine dans un tableau

Orientation du tableau en ligne

En C4, nous allons indiquer la valeur de la position à renvoyer.

  1. Nous commençons par mettre les références de notre tableau en premier paramètre.
  2. Nous laissons le second paramètre vide (pas de recherche en ligne à faire ici)
  3. Nous indiquons la référence de la cellule qui contient le chiffre

=INDEX(C3:I3;;C4)

Utilisation de la fonction INDEX pour récupérer la valeur correspondant à sa position dans une liste horizontale

Si nous indiquons une valeur qui dépasse la taille du tableau (comme ici 8), la fonction retourne une erreur #N/A.

Orientation du tableau en colonne

Si les données du tableau sont orientées en colonne, nous devons inverser le deuxième et troisième paramètre.

=INDEX(A2:A13;C5)

La fonction INDEX retourne la valeur correspondante à une position dans une liste verticale

Tableau à 2 dimensions

Prenons l'exemple de la grille de salaire suivante. Nous voulons récupérer le niveau de salaire en utilisant 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.

  • Nous commençons par indiquer les références de notre table de références
  • Ensuite nous indiquons que nous souhaitons récupérer les informations de la 4e ligne (B3)
  • Et ensuite de la 2e colonne (B4)

=INDEX(B7:G12;B3;B4)

Recherche en ligne et en colonne

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 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 au nombre d'années d'étude, pour se positionner dans notre table de référence.

=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 comprendre la fonction EQUIV la suite des explications.

=EQUIV(B4;B6:G6;0)

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))

Utilisation de la fonction INDEX dans un tableaux à 2 dimensions

Multi-tableaux

Les explications ci-dessous sont justes mais sont très peu utilisées (à lire, juste pour info)

La fonction INDEX permet également de faire des recherches dans plusieurs tableaux dans la même fonction. C'est uniquement dans ce cas que le 4e paramètre de la fonction doit être renseigné.

Le quatrième paramètre de la fonction va nous permettre d'indiquer dans quel tableau nous allons récupérer une valeur.

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 dans le premier paramètre. 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

Récupérer les valeurs depuis plusieurs plages de cellules

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

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 et ainsi créer une somme dynamique.

Somme dynamique avec les fonction INDEX et MATCH

Vidéo explicative

Articles liés

Voici une liste d'articles qui pourrait également vous intéresser sur le même thème.

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

(4 commentaires)

Passer au formulaire de commentaire

  1. Merci pour la clarté du sujet, comme dit déjà, ni trop lent, ni trop vite.
    J'utilise la formule INDEX, dans un classeur reprenant diverses informations d'individus, comme "nom, prénom, adresses, date de naissance etc, il y en a 20 dans la base de données.
    Votre tuto va me permettre d'y apporter confirmation, modification et précision.
    Bien cordialement

  2. Ce n'est pas du tout ce que je cherchais, mais c'est très instructif.
    Bien expliqué, pas trop lent, ni trop rapide et bonne élocution (pour la vidéo, je n'ai pas lu le tuto).

    Merci

    1. Merci bcp

  3. yes indeed

Laisser un commentaire

Your email address will not be published.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.