Vous pouvez utiliser MATCH avec INDEX pour créer une formule de recherche plus souple que VLOOKUP. Cette combinaison est souvent appelée INDEX-MATCH.
Voici un scénario de démonstration d’INDEX-MATCH à l’aide de cette table de données de vente :
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Nom | Région | Ventes | Commission |
| 2 | Alice | Nord | 5000 | 500 |
| 3 | Bob | Sud | 6000 | 600 |
| 4 | Charlie | Est | 4500 | 450 |
| 5 | Daoud | Ouest | 5500 | 550 |
| 6 | Eve | Nord | 4800 | 480 |
Supposons maintenant que vous souhaitiez rechercher la commission d’un vendeur en fonction de son nom. Voici les formules INDEX-MATCH et VLOOKUP équivalentes :
- INDEX-MATCH :
=INDEX(D2 :D6,MATCH(« Bob »,A2 :A6,0))
- VLOOKUP :
=VLOOKUP(« Bob »,A2 :D6,4,FALSE)
Les deux formules renvoient 600, soit la commission de Bob.
Voici pourquoi INDEX-MATCH est plus flexible :
- Indépendance des colonnes : Avec VLOOKUP, la colonne contenant la valeur de retour (commission) doit toujours se trouver à droite de la colonne de recherche (nom), et vous devez compter les colonnes pour spécifier laquelle contient les données souhaitées (4 dans ce cas).
Avec INDEX-MATCH, la colonne de retour peut se trouver n’importe où dans le tableau. Si les colonnes sont réorganisées de sorte que la Commission se trouve dans la colonne B, vous pouvez facilement adapter la formule INDEX-MATCH (en remplaçantD2 :D6parB2 :B6).=INDEX(B2 :B6,MATCH(« Bob »,A2 :A6,0))
La formule VLOOKUP ne fonctionnerait pas dans ce scénario. - Recherche à gauche : VLOOKUP ne peut rechercher des valeurs que dans la colonne la plus à gauche d’une plage. Si vous vouliez rechercher un nom sur la base d’une valeur de commission, vous ne pourriez pas utiliser VLOOKUP. Cependant, INDEX-MATCH vous permet d’utiliser n’importe quelle colonne :
=INDEX(A2 :A6,MATCH(600,D2 :D6,0))
Le résultat serait « Bob ». - Performances : Pour les grands ensembles de données, INDEX-MATCH peut être plus efficace que VLOOKUP, en particulier si vous effectuez de nombreuses recherches dans la même table.