Menu

INDEX EQUIV Excel : recherche à gauche et à double entrée

=INDEX(C2:C6;EQUIV(F2;A2:A6;0)) trouve la ligne de F2 dans la colonne A et renvoie la valeur de cette ligne dans la colonne C. Elle cherche vers la gauche, fait des recherches à double entrée et fonctionne dans toutes les versions d'Excel.

Chaque feuille de cette page est interactive : modifiez un nombre ou une formule et elle se recalcule.

=INDEX(C2:C6;EQUIV(F2;A2:A6;0)) trouve la ligne où F2 apparaît dans A2:A6 et renvoie la valeur de la même ligne de C2:C6. EQUIV trouve la position, INDEX va chercher la valeur à cette position. La formule fonctionne dans toutes les versions d'Excel, et elle peut chercher vers la gauche. EQUIV s'appelle MATCH dans un Excel anglais (INDEX garde le même nom), et le tableau affiche la formule ainsi : =INDEX(C2:C6,MATCH(F2,A2:A6,0)). Vous pouvez aussi y taper les formules en français, avec des points-virgules.

Prix d'un produit
G2
ABCDEFG
1ProductCategoryPriceCodeLook forPrice
2AppleFruit$1.20P-101Pear$1.50
3PearFruit$1.50P-102
4CarrotVegetable$0.80P-205
5BreadBakery$2.40P-310
6MilkDairy$1.10P-412
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =INDEX(C2:C6;EQUIV(F2;A2:A6;0))

Remplacez F2 par Milk et G2 renvoie $1.10. Remplacez C2:C6 par B2:B6 et elle renvoie la catégorie à la place.

Comment INDEX et EQUIV s'associent

La formule réunit deux étapes dans une cellule. Les voici dans des cellules séparées, pour voir ce que renvoie chaque partie.

Les deux étapes, une par cellule
G3
ABCDEFG
1ProductCategoryPriceCodeLook forBread
2AppleFruit$1.20P-101Position4
3PearFruit$1.50P-102Price$2.40
4CarrotVegetable$0.80P-205
5BreadBakery$2.40P-310
6MilkDairy$1.10P-412
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =INDEX(C2:C6;G2)

EQUIV(G1;A2:A6;0) renvoie 4, car Bread est le quatrième élément de A2:A6. INDEX(C2:C6;4) renvoie le quatrième élément de C2:C6, $2.40. Placez EQUIV dans INDEX à la place de G2 et vous obtenez la formule en une cellule. Deux règles la font fonctionner :

  • Les deux plages doivent commencer à la même ligne et avoir la même hauteur. EQUIV(...;A2:A6;0) compte à partir de la ligne 2, donc INDEX doit lire C2:C6, pas C1:C6 (qui renverrait la ligne du dessus).
  • Terminez EQUIV par 0. Sans lui, EQUIV fait une correspondance approximative qui suppose la colonne A triée, et sur une liste de noms elle peut renvoyer la position d'une mauvaise ligne. La page EQUIV présente ses trois types de correspondance.

Si la valeur n'est pas dans la liste, EQUIV renvoie #N/A, et la formule entière aussi. =SI.NON.DISP(INDEX(C2:C6;EQUIV(F2;A2:A6;0));"Not found") affiche un texte à la place.

Recherche vers la gauche

RECHERCHEV (VLOOKUP en anglais) renvoie les colonnes situées à droite de celle où elle cherche. INDEX et EQUIV ne se soucient pas de l'ordre : on cherche dans la colonne D, on renvoie la colonne A.

Nom du produit à partir de son code
G2
ABCDEFG
1ProductCategoryPriceCodeCodeProduct
2AppleFruit$1.20P-101P-310Bread
3PearFruit$1.50P-102
4CarrotVegetable$0.80P-205
5BreadBakery$2.40P-310
6MilkDairy$1.10P-412
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =INDEX(A2:A6;EQUIV(F2;D2:D6;0))

P-310 renvoie Bread. Tapez P-205 en F2 pour obtenir Carrot. Avec RECHERCHEV, il faudrait d'abord déplacer la colonne Code au début de la table.

Recherche à double entrée : INDEX avec deux EQUIV

INDEX prend un numéro de ligne et un numéro de colonne. Donnez-lui une table entière et laissez un EQUIV trouver la ligne et un autre trouver la colonne.

Ventes par région et par mois
B8
ABCD
1RegionJanFebMar
2North4,2003,9004,800
3South3,1003,6003,300
4East5,2004,7005,600
5West2,8003,0003,400
6RegionEast
7MonthMar
8Sales5,600
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =INDEX(B2:D5;EQUIV(B6;A2:A5;0);EQUIV(B7;B1:D1;0))

East est la ligne 3 de A2:A5 et Mar la colonne 3 de B1:D1, donc INDEX renvoie la ligne 3, colonne 3 de B2:D5 : 5,600. L'EQUIV de la ligne cherche vers le bas dans la première colonne, l'EQUIV de la colonne cherche en travers de la ligne d'en-tête, et les deux plages sont alignées sur la table B2:D5. En français, la formule de B8 s'écrit =INDEX(B2:D5;EQUIV(B6;A2:A5;0);EQUIV(B7;B1:D1;0)).

Pourquoi INDEX EQUIV fait mieux que RECHERCHEV

=VLOOKUP(F2, A2:D6, 3, FALSE)
=INDEX(C2:C6, MATCH(F2, A2:A6, 0))

Dans un Excel français : =RECHERCHEV(F2;A2:D6;3;FAUX) et =INDEX(C2:C6;EQUIV(F2;A2:A6;0)). Les deux renvoient le prix. La différence apparaît quand la feuille change :

  • Insérer une colonne. Insérez une colonne entre Category et Price, et RECHERCHEV demande toujours la colonne 3, qui est maintenant la nouvelle colonne vide. Excel ajuste C2:C6 en D2:D6 dans la version INDEX, qui continue de fonctionner.
  • Chercher vers la gauche. Vu plus haut : RECHERCHEV ne le peut pas, INDEX EQUIV si.

Dans Excel 2021 et Microsoft 365, RECHERCHEX fait les deux en une seule fonction aux arguments plus simples. INDEX EQUIV reste le bon choix pour les fichiers qui doivent s'ouvrir dans Excel 2019 ou une version antérieure, et la partie INDEX est utile à elle seule. Pour des recherches sur deux conditions à la fois, voir la recherche avec plusieurs critères.

Exercice : chercher vers la gauche

Export de stock
G2
ABCDEFG
1CodePriceStockProductLook forPrice
2P-101$1.2040AppleMilk
3P-102$1.5025Pear
4P-205$0.8060Carrot
5P-310$2.4015Bread
6P-412$1.1030Milk
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.

À vous : Les noms des produits sont dans la dernière colonne. En G2, renvoyez le prix du produit de F2 avec INDEX et EQUIV (MATCH).

Exercice : une recherche à double entrée

Notes de contrôle
B9
ABCD
1StudentMathScienceArt
2Ana788592
3Ben647188
4Cara958973
5Dev826779
6
7StudentCara
8SubjectScience
9Score
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.

À vous : En B9, renvoyez la note de l'élève de B7 dans la matière de B8.

Questions fréquentes

Comment fonctionne INDEX EQUIV ?

EQUIV trouve la position d'une valeur dans une colonne, et INDEX renvoie la valeur à cette position dans une autre colonne. Dans =INDEX(C2:C6;EQUIV("Pear";A2:A6;0)), EQUIV renvoie 2 parce que Pear est le deuxième élément de A2:A6, et INDEX renvoie le deuxième élément de C2:C6.

Pourquoi utiliser INDEX EQUIV plutôt que RECHERCHEV ?

Elle peut renvoyer une colonne située à gauche de celle où elle cherche, et elle ne se casse pas quand une colonne est insérée dans la table (il n'y a pas de numéro de colonne qui devient faux). Dans Excel 2021 et Microsoft 365, RECHERCHEX offre les mêmes avantages en une seule fonction.

Que signifie le 0 dans EQUIV ?

Il demande une correspondance exacte. Sans lui, EQUIV utilise le type 1, une correspondance approximative qui suppose une colonne triée par ordre croissant ; sur une liste non triée, elle peut renvoyer la position d'une mauvaise ligne.

Comment faire une recherche à double entrée avec INDEX EQUIV ?

Donnez à INDEX une table entière et deux EQUIV, un pour la ligne et un pour la colonne : =INDEX(B2:D5;EQUIV("South";A2:A5;0);EQUIV("Feb";B1:D1;0)) renvoie la valeur à l'intersection de la ligne South et de la colonne Feb.

Illustration des langages de programmation de Coddy

Apprendre à coder avec Coddy

COMMENCER