Syntaxe
La fonction INDEX s’écrit de la façon suivante :
= INDEX( réf ; no_ligne ; [no_col] )
ou
= INDEX( réf ; no_ligne ; [no_col] ; [no_zone] )
Cette fonction possède jusqu’à 4 arguments suivant la méthode d’utilisation :
matrice
– Plage(s) de cellules.no_ligne
– Numéro de la ligne dans laquelle se situe la valeur à récupérer.no_col
– Argument optionnel. Numéro de la colonne dans laquelle se situe la valeur à récupérer.no_zone
– Argument optionnel. Référence de la plage de cellules si plusieurs plages ont été indiquées dans le premier argument.
La fonction INDEX renvoie la valeur dans une matrice (plage de cellules) en fonction de ses coordonnées. Elle permet de renvoyer des valeurs uniques ou des plages entières comme des lignes ou des colonnes.
Elle est souvent utilisée avec la fonction EQUIV. La solution INDEX EQUIV permettant de récupérer des valeurs en fonction d’autres valeurs. La fonction EQUIV sert à trouver la position d’une valeur dans une plage de données et, par extrapolation, on cherche à récupérer une autre valeur dans cette même plage de données.
= INDEX( E3:E10 ; 3 ; 1 )
--> Récupère la valeur située dans la
3e ligne de la plage E3:E10
= EQUIV( H3 ; B3:B10 ; 0 )
--> Retrouve la position de la valeur en H3
dans la plage B3:B10
= INDEX( E3:E10 ; EQUIV( H3 ; B3:B10 ; 0 ) ; 1 )
--> Retrouve la position de la valeur en H3
dans la plage B3:B10 et donne la valeur sur la
même ligne dans la plage E3:E10
Combiner les fonctions INDEX et EQUIV permet de s’affranchir des limitations de la fonction RECHERCHEV et de la fonction RECHERCHEH à savoir la nécessité que la colonne (ou ligne) de recherche soit en première position de la matrice.
La fonction INDEX a deux usages différents et requiert des arguments différents. Dans sa version la plus courante, on suppose la saisie d’une matrice et des coordonnées (ligne et colonne).
= INDEX ( réf ; no_ligne ; [no_col] )
= INDEX( B3:E10 ; 3 ; 3 )
--> Résultat : 2338
Dans sa seconde version, elle permet la saisie de plusieurs références de plages de données. De là, elle aura besoin d’un argument supplémentaire pour fonctionner correctement. Le dernier argument, [no_zone]
, indiquera à quelle plage de données on souhaite faire référence.
= INDEX( réf ; no_ligne ; [no_col] ; [no_zone] )
= INDEX( ( B3:C10 ; D3:E10 ) ; 3 ; 2 ; 2 )
--> On veut la valeur située sur la 3e ligne et
la 2nd colonne de la seconde plage de données
(D3:E10).
Quelques utilisations de la fonction INDEX
Utilisation de la fonction INDEX avec la fonction EQUIV pour remplacer la RECHERCHEV
Comme présenté précédemment, il est possible d’imiter le comportement de la fonction RECHERCHEV grâce à la fonction INDEX combinée à la fonction EQUIV.
On viendra identifier la position de la valeur cherchée dans la plage de données grâce à la fonction EQUIV. Elle sera imbriquée dans l’argument no_ligne
de la fonction INDEX.
= INDEX( E3:E10 ; EQUIV( H3 ; B3:B10 ; 0 ) ; 1 )

Utilisation de la fonction INDEX avec la fonction EQUIV pour remplacer la RECHERCHEH
De la même manière, il est possible de remplacer la fonction RECHERCHEH par la solution INDEX + EQUIV. La fonction EQUIV sera imbriquée dans l’argument no_col
.
= INDEX( C5:J5 ; 1 ; EQUIV( F8 ; C2:J2 ; 0 ) )

Utilisation de la fonction INDEX avec la fonction EQUIV pour une recherche bidirectionnelle exacte
En combinant la fonction INDEX avec deux fonctions EQUIV, il possible de retrouver des données dans un tableau en deux dimensions.
Dans l’exemple ci-dessous, on peut retrouver la valeur à l’intersection du mois de Février et de l’année 2022.
= INDEX( C4:N8 ;
EQUIV( C12 ; B4:B8 ; 0 ) ;
EQUIV( C11 ; C3:N3 ; 0 )
)

Utilisation de la fonction INDEX avec la fonction EQUIV pour une recherche bidirectionnelle approximative
Comme dans l’exemple précédent, il est possible de faire une recherche bidirectionnelle mais avec des valeurs approximatives. En effet, la fonction EQUIV permet de récupérer la valeur directement supérieure ou inférieure si la valeur exacte n’est pas présente.
Dans l’exemple j’ai simulé des taux différents en fonction du rang des individus et de l’année. Le rang est l’année applicables doivent être les valeurs exactes ou celles juste en dessous.
= INDEX( C4:G8 ;
EQUIV( C12 ; B4:B8 ; 1 ) ;
EQUIV( C11 ; C3:G3 ; 1 )
)
Caractéristiques de la fonction INDEX
- Elle permet de récupérer une valeur en fonction de ses coordonnées.
- Elle est intéressante à combiner avec la fonction EQUIV dans la solution INDEX EQUIV.
Formules en lien
- Combiner INDEX et EQUIV
- INDEX EQUIV avec plusieurs critères
- RECHERCHEV avec plusieurs critères
- SOMME de RECHERCHEV
- RECHERCHEX plusieurs critères
- RECHERCHEV avec plusieurs résultats
- RECHERCHEV et CONCATENER