Courantes Recherche

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

Related posts

Fonction SOMME

Frédéric LE GUEN

Comment faire une RECHERCHEV vers la gauche ?

Frédéric LE GUEN

Faire une RECHERCHEV décalée

Frédéric LE GUEN

4 commentaires

Mexav 27/10/2018 at 09:33

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

Répondre
Pierre 26/06/2018 at 07:33

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

Répondre
Frédéric LE GUEN 26/06/2018 at 07:35

Merci bcp

Répondre
Anonyme 11/03/2016 at 11:53

yes indeed

Répondre

Laissez un commentaire

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

Ce site utilise des cookies pour améliorer votre expérience et vos recherches. Nous pensons que vous êtes dʼaccord sur ce principe mais vous pouvez refuser cette option. Accepter Continuer

Privacy & Cookies Policy