Formule Excel: recherche à gauche avec INDEX et MATCH -

Table des matières

Formule générique

=INDEX(range,MATCH(A1,id,0))

Sommaire

Pour effectuer une recherche à gauche avec INDEX et MATCH, configurez la fonction MATCH pour localiser la valeur de recherche dans la colonne qui sert d'ID. Utilisez ensuite la fonction INDEX pour récupérer les valeurs à cette position. Dans l'exemple illustré, la formule en H5 est:

=INDEX(item,MATCH(G5,id,0))

item (B5: B15) et id (E5: E15) sont des plages nommées.

Explication

L'un des avantages de l'utilisation d'INDEX et de MATCH par rapport à une autre fonction de recherche comme VLOOKUP est que INDEX et MATCH peuvent facilement fonctionner avec des valeurs de recherche dans n'importe quelle colonne des données.

Dans l'exemple illustré, les colonnes B à E contiennent des données de produit avec un ID unique dans la colonne E. En utilisant l'ID comme valeur de recherche, le tableau de droite utilise INDEX et MATCH pour récupérer l'article, la couleur et le prix corrects.

Dans chaque formule, la fonction MATCH est utilisée pour localiser la position (ligne) du produit comme ceci:

MATCH(G5,id,0) // returns 3

La valeur de recherche provient de la cellule G5, le tableau de recherche est l'identifiant de plage nommé (E5: E15) et le type de correspondance est défini sur zéro (0) pour une correspondance exacte. Le résultat est 3, puisque l'ID 1003 apparaît dans la troisième ligne des données. cette valeur est renvoyée directement à la fonction INDEX comme numéro de ligne, et INDEX renvoie "T-shirt":

=INDEX(item,3) // returns "T-shirt"

Les formules dans H5, I5 et J5 sont les suivantes:

=INDEX(item,MATCH(G5,id,0)) // get item =INDEX(color,MATCH(G5,id,0)) // get color =INDEX(price,MATCH(G5,id,0)) // get price

Notez que la fonction MATCH est utilisée exactement de la même manière dans chaque formule. La seule différence dans les formules est le tableau donné à INDEX. Une fois que MATCH renvoie un résultat (3 pour l'id 1003), nous avons:

=INDEX(item,3) // returns "T-shirt" =INDEX(color,3) // returns "Black" =INDEX(price,3) // returns 19

Sans plages nommées

Les plages nommées ci-dessus sont utilisées uniquement à des fins de commodité. Les formules équivalentes sans plages nommées sont:

=INDEX($B$5:$B$15,MATCH($G5,$E$5:$E$15,0)) // item =INDEX($C$5:$C$15,MATCH($G5,$E$5:$E$15,0)) // color =INDEX($D$5:$D$15,MATCH($G5,$E$5:$E$15,0)) // price

Les plages sont désormais des références absolues pour permettre la copie sans modification. La valeur de recherche dans $ G5 est une référence mixte pour verrouiller la colonne uniquement.

Articles intéressants...