
Si vous utilisez VLOOKUP pour chaque tâche de recherche dans Excel, vous n'êtes pas seul — c'est l'une des fonctions les plus connues du monde des tableurs. Mais les utilisateurs Excel expérimentés passent presque universellement à INDEX MATCH, une combinaison de deux fonctions plus flexible, plus fiable et capable de résoudre des problèmes que VLOOKUP ne peut tout simplement pas gérer. Cet article explique exactement pourquoi, avec la syntaxe réelle, des exemples travaillés et un tutoriel pratique que vous pouvez suivre immédiatement.
Avant de les combiner, il est utile de comprendre chaque fonction individuellement.
INDEX renvoie la valeur d'une cellule à une position donnée dans une plage ou un tableau.
=INDEX(array, row_num, [col_num])
Par exemple, =INDEX(A1:A10, 3) renvoie la valeur qui se trouve à la troisième ligne de la colonne A, de la ligne 1 à la ligne 10.
MATCH recherche une valeur dans une plage et renvoie son numéro de position — non pas la valeur elle-même, mais le numéro qui indique où elle se trouve.
=MATCH(lookup_value, lookup_array, [match_type])
0 pour une correspondance exacte (le plus courant), 1 pour inférieur à , -1 pour supérieur à Par exemple, si A1:A5 contient {Apple, Banana, Cherry, Date, Fig}, alors =MATCH("Cherry", A1:A5, 0) renvoie 3 car Cherry est le troisième élément.
La véritable puissance apparaît lorsque vous imbriquez MATCH dans INDEX. Au lieu de coder en dur un numéro de ligne, vous laissez MATCH le calculer dynamiquement :
=INDEX(return_range, MATCH(lookup_value, lookup_range, 0))
Cela indique à Excel : « Trouve la position de ma valeur de recherche dans la plage de recherche, puis renvoie la valeur correspondante dans la plage de retour. » Les deux plages doivent avoir la même taille et être alignées dans la même direction.
Imaginez un tableau d'inventaire produits avec la structure suivante :
| ID Produit | Nom du produit | Catégorie | Prix unitaire | Stock |
|---|---|---|---|---|
| P-101 | Wireless Mouse | Electronics | $29.99 | 142 |
| P-102 | USB-C Hub | Electronics | $49.99 | 87 |
| P-103 | Desk Lamp | Office | $34.99 | 55 |
| P-104 | Notebook A5 | Stationery | $8.99 | 310 |
| P-105 | Ergonomic Chair | Furniture | $299.00 | 12 |
Les données se trouvent dans A2:E6, avec les en-têtes en ligne 1. Vous souhaitez rechercher le Prix unitaire d'un produit dont l'ID est saisi dans la cellule H2.
Avec INDEX MATCH, la formule en H3 serait :
=INDEX($D$2:$D$6, MATCH(H2, $A$2:$A$6, 0))
Étape par étape :
Remarquez l'utilisation des références de cellules absolues avec les signes dollar. Le verrouillage des plages garantit que la formule fonctionne correctement si vous la copiez dans d'autres cellules.
Si vous connaissez déjà VLOOKUP grâce à notre guide complet de VLOOKUP, vous en comprenez les atouts. Mais cette fonction présente des limitations bien connues qu'INDEX MATCH résout élégamment.
VLOOKUP ne recherche que dans la colonne la plus à gauche d'un tableau et renvoie une valeur à droite. Si votre colonne de recherche se trouve à droite de votre colonne de retour, VLOOKUP échoue. INDEX MATCH n'a pas cette restriction — la plage de retour et la plage de recherche sont entièrement indépendantes, ce qui vous permet de renvoyer des valeurs de n'importe quelle colonne, y compris celles situées à gauche de votre colonne de recherche.
VLOOKUP utilise un numéro d'index de colonne codé en dur (par exemple, la troisième colonne). Insérez ou supprimez une colonne et ce numéro devient incorrect, renvoyant silencieusement des données erronées. Comme INDEX MATCH référence des plages réelles, l'insertion de colonnes ne casse jamais la formule.
VLOOKUP analyse l'intégralité du tableau à chaque calcul. INDEX MATCH n'évalue que la colonne de recherche spécifique et la colonne de retour spécifique, ce qui est sensiblement plus rapide dans les classeurs contenant des dizaines de milliers de lignes.
Vous pouvez imbriquer deux fonctions MATCH — une pour la ligne, une pour la colonne — pour créer une recherche à deux dimensions que VLOOKUP ne peut pas reproduire sans formules auxiliaires :
=INDEX(B2:E6, MATCH(H2, A2:A6, 0), MATCH(H3, B1:E1, 0))
Ici, MATCH(H2, A2:A6, 0) trouve la bonne ligne et MATCH(H3, B1:E1, 0) trouve la bonne colonne. Modifiez l'une ou l'autre cellule de saisie et la formule s'adapte instantanément. Cela est particulièrement utile pour les tableaux de bord commerciaux où vous devez extraire des métriques selon plusieurs dimensions.
Lorsqu'aucune correspondance n'est trouvée, MATCH renvoie une erreur #N/A. Encapsulez l'ensemble d'INDEX MATCH dans IFERROR pour afficher un message convivial à la place :
=IFERROR(INDEX($D$2:$D$6, MATCH(H2, $A$2:$A$6, 0)), "Produit introuvable")
Cela est particulièrement important dans les classeurs partagés ou les modèles où les utilisateurs finaux saisissent des valeurs de recherche — une gestion propre des erreurs évite la confusion et la frustration. Associez cela à la validation des données sur la cellule de saisie pour restreindre les entrées à une liste valide, et vous obtenez un outil de recherche robuste et insensible aux erreurs utilisateur.
L'un des scénarios de recherche les plus demandés consiste à faire correspondre plusieurs conditions. Supposons que vous souhaitiez trouver le Prix unitaire où la Catégorie est « Electronics » ET le Stock est inférieur à 100. Vous pouvez y parvenir avec une version matricielle d'INDEX MATCH.
=INDEX($D$2:$D$6, MATCH(1, ($C$2:$C$6="Electronics")*($E$2:$E$6<100), 0))
Dans les versions antérieures d'Excel (avant 365), appuyez sur Ctrl + Maj + Entrée pour saisir cette formule en tant que formule matricielle — Excel l'encadre d'accolades {}. Dans Excel 365 et Excel 2021, les tableaux dynamiques gèrent cela automatiquement, de sorte qu'une simple touche Entrée suffit.
Son fonctionnement : chaque condition produit un tableau de valeurs VRAI/FAUX (1 et 0). En les multipliant entre elles, on crée un nouveau tableau qui vaut 1 uniquement là où les deux conditions sont VRAIES. MATCH trouve ensuite le premier 1, et INDEX renvoie le prix correspondant.
Excel 365 a introduit XLOOKUP, qui simplifie de nombreuses tâches de recherche avec une seule fonction. XLOOKUP est excellent pour les recherches simples et gère nativement les recherches vers la gauche. Cependant, INDEX MATCH reste pertinent pour plusieurs raisons :
Maîtriser INDEX MATCH est également fondamental pour travailler sur des tâches plus avancées telles que la création de tableaux de bord dynamiques dans Excel, où les formules de recherche alimentent des graphiques et des tableaux récapitulatifs qui se mettent à jour automatiquement.
=INDEX(PrixUnitaires, MATCH(H2, IDsProduits, 0)) est bien plus facile à auditer que des références de cellules.Si vous vous retrouvez face à une exigence de recherche complexe — plusieurs critères, mises en page de tableau non standard ou références entre feuilles — vous pouvez décrire vos besoins en langage naturel à GPTExcel et recevoir en quelques secondes une formule INDEX MATCH prête à l'emploi, avec les références absolues correctes et la gestion des erreurs. Cela supprime les approximations et vous permet d'obtenir une formule fonctionnelle sans essais et erreurs manuels.
Pour des techniques plus larges de rédaction de formules assistées par l'IA, l'article sur l'utilisation de ChatGPT pour écrire des formules Excel couvre le flux de travail en détail.
Pour la grande majorité des cas d'usage professionnels, oui. INDEX MATCH gère les recherches vers la gauche, n'est pas affecté par les insertions de colonnes et prend en charge les correspondances bidimensionnelles et multi-critères. VLOOKUP est plus simple à écrire pour des recherches basiques vers la droite, mais ses limitations deviennent problématiques à mesure que la complexité de vos données augmente.
Uniquement lorsque vous utilisez une version matricielle multi-critères de la formule dans Excel 2019 ou version antérieure. Les formules INDEX MATCH standard à critère unique se saisissent avec une simple touche Entrée dans toutes les versions d'Excel. Dans Excel 365 et Excel 2021 avec les tableaux dynamiques, même les versions multi-critères ne nécessitent pas le raccourci matriciel.
MATCH renvoie toujours la position de la première correspondance trouvée. Si votre colonne de recherche contient des doublons et que vous devez récupérer les données pour chaque occurrence, envisagez d'utiliser une colonne auxiliaire avec des clés concaténées, ou utilisez Power Query — couvert dans notre guide Power Query — pour restructurer vos données avant d'appliquer la recherche.
Oui. Il suffit d'inclure le nom de la feuille dans vos références de plage. Par exemple : =INDEX(Sheet2!$D$2:$D$100, MATCH(H2, Sheet2!$A$2:$A$100, 0)). La formule fonctionne de manière identique que les plages se trouvent sur la même feuille ou sur une feuille différente au sein du même classeur.
Découvrez comment la fonction TEXTE d'Excel convertit les nombres, les dates et les heures en chaînes de texte formatées grâce aux codes de format — avec des exemples concrets et des cas d'utilisation pratiques.
Découvrez comment fonctionne la fonction SI d'Excel, comment imbriquer plusieurs SI, et quand utiliser les alternatives modernes comme SI.CONDITIONS et CHOISIR pour une logique plus claire et plus lisible.
Maîtrisez SUMIF et SUMIFS dans Excel pour additionner des données selon un ou plusieurs critères, avec la syntaxe réelle, des exemples concrets et un tutoriel pas à pas.