Les fonctions de recherche dans Microsoft Excel sont idéales pour trouver ce dont vous avez besoin lorsque vous disposez d’une grande quantité de données. Il existe trois façons courantes de le faire : INDEX et MATCH, VLOOKUP et XLOOKUP. Mais quelle est la différence ?

INDEX et MATCH, VLOOKUP et XLOOKUP ont tous pour but de rechercher des données et de renvoyer un résultat. Elles fonctionnent chacune un peu différemment et nécessitent une syntaxe spécifique pour la formule. Quand faut-il utiliser l’une ou l’autre ? Laquelle est la meilleure ? Jetons un coup d’œil pour savoir quelle est la meilleure option pour vous.

Utilisation de INDEX et MATCH

De toute évidence, la combinaison INDEX et MATCH est un mélange des deux fonctions nommées. Vous pouvez consulter nos modes d’emploi des fonctions INDEX et MATCH pour obtenir des détails spécifiques sur leur utilisation individuelle.

Pour utiliser ce duo, la syntaxe de chacune est INDEX(tableau, numéro_de_ligne, numéro_de_colonne) et MATCH(valeur, tableau, type_de_match).

Lorsque vous combinez les deux, vous obtenez une syntaxe comme celle-ci : INDEX(return_array, MATCH(lookup_value, lookup_array)) dans sa forme la plus élémentaire. Le plus simple est de regarder quelques exemples.

Pour trouver une valeur dans la cellule G2 dans la plage de A2 à A8 et fournir le résultat correspondant dans la plage de B2 à B8, vous utiliserez cette formule :

=INDEX(B2:B8,MATCH(G2,A2:A8))

INDEX et MATCH avec une référence de cellule

Si vous préférez insérer la valeur que vous voulez trouver au lieu d’utiliser la référence de la cellule, la formule ressemble à ceci où 2B est la valeur de recherche :

=INDEX(B2:B8,MATCH(« 2B »,A2:A8))

Notre résultat est Houston pour les deux formules.

INDEX et MATCH avec une valeur

Nous avons également un tutoriel qui explique en détail comment utiliser INDEX et MATCH si vous le souhaitez.

Utilisation de VLOOKUP

VLOOKUP est une fonction de référence populaire dans Excel depuis un certain temps. Le V signifie Vertical, donc avec VLOOKUP, vous effectuez une recherche verticale, de gauche à droite.

La syntaxe est la suivante : VLOOKUP(lookup_value, lookup_array, column_number, range_lookup), le dernier argument étant facultatif : True (correspondance approximative) ou False (correspondance exacte).

En utilisant les mêmes données que pour INDEX et MATCH, nous allons rechercher la valeur de la cellule G2 dans la plage A2 à D8 et renvoyer la valeur de la deuxième colonne qui correspond. Vous utiliserez cette formule :

=VLOOKUP(G2,A2:D8,2)

VLOOKUP avec une référence de cellule

Comme vous pouvez le constater, le résultat obtenu à l’aide de VLOOKUP est le même que celui obtenu à l’aide de INDEX et MATCH. La différence est que VLOOKUP utilise une formule beaucoup plus simple. Pour plus de détails sur le VLOOKUP, consultez notre mode d’emploi.

Alors pourquoi utiliser INDEX et MATCH au lieu de VLOOKUP ? La réponse est que VLOOKUP ne fonctionne que lorsque la valeur de recherche est à gauche de la valeur de retour souhaitée.

Si nous faisions l’inverse et voulions rechercher une valeur dans la quatrième colonne et renvoyer la valeur correspondante dans la deuxième colonne, nous n’obtiendrions pas le résultat souhaité et pourrions même recevoir une erreur. Comme l’écrit Microsoft :

N'oubliez pas que la valeur de consultation doit toujours se trouver dans la première colonne de la plage pour que VLOOKUP fonctionne correctement. Par exemple, si votre valeur de recherche se trouve dans la cellule C2, votre plage doit commencer par C.

INDEX et MATCH couvrent la totalité de la plage de cellules ou du tableau, ce qui en fait une option de consultation plus robuste, même si la formule est un peu plus compliquée.

Utilisation de XLOOKUP

XLOOKUP est une fonction de référence qui est arrivée dans Excel après VLOOKUP et son homologue HLOOKUP (consultation horizontale). La différence entre XLOOKUP et VLOOKUP est que XLOOKUP fonctionne quel que soit l’endroit où les valeurs de référence et de retour se trouvent dans votre plage de cellules ou tableau.

La syntaxe est XLOOKUP(lookup_value, lookup_array, return_array, not_found, match_mode, search_mode). Les trois premiers arguments sont obligatoires et sont similaires à ceux de la fonction VLOOKUP. XLOOKUP offre trois arguments facultatifs à la fin pour donner un résultat textuel si la valeur n’est pas trouvée, un mode pour le type de correspondance, et un mode pour la façon d’effectuer la recherche.

Dans le cadre de cet article, nous nous concentrerons sur les trois premiers arguments obligatoires.

Revenons à notre plage de cellules de tout à l’heure. Nous allons rechercher la valeur de G2 dans la plage A2 à A8 et renvoyer la valeur correspondante dans la plage B2 à B8 avec la formule suivante :

=XLOOKUP(G2,A2:A8,B2:B8)

XLOOKUP avec une référence de cellule

Et comme avec INDEX et MATCH ainsi que VLOOKUP, notre formule a retourné Houston.

Nous pouvons également utiliser une valeur de la quatrième colonne comme valeur de recherche et obtenir le résultat correct dans la deuxième colonne :

=XLOOKUP(20745,D2:D8,B2:B8)

XLOOKUP de droite à gauche

En gardant cela à l’esprit, vous pouvez voir que XLOOKUP est une meilleure option que VLOOKUP simplement parce que vous pouvez arranger vos données comme vous le souhaitez et obtenir le résultat souhaité. Pour un tutoriel complet sur XLOOKUP, consultez notre guide pratique.

Vous vous demandez maintenant si vous devez utiliser XLOOKUP ou INDEX et MATCH, n’est-ce pas ? Voici quelques éléments à prendre en compte.

Quel est le meilleur choix ?

Si vous utilisez déjà les fonctions INDEX et MATCH séparément et que vous les avez utilisées ensemble pour rechercher des valeurs, vous êtes peut-être plus familier avec leur fonctionnement. Si ce n’est pas cassé, ne le réparez pas, et continuez à utiliser ce qui vous convient.

Et bien sûr, si vos données sont structurées pour fonctionner avec VLOOKUP et que vous utilisez cette fonction depuis des années, vous pouvez continuer à l’utiliser ou faire une transition facile vers XLOOKUP en laissant INDEX et MATCH dans la poussière.

Si vous voulez une formule simple, facile à construire dans n’importe quelle direction, XLOOKUP est la voie à suivre et peut remplacer INDEX et MATCH. Vous n’avez pas à vous soucier de combiner les arguments de deux fonctions en une seule ou de réorganiser vos données.

Une dernière considération, XLOOKUP offre ces trois arguments optionnels qui peuvent s’avérer utiles pour vos besoins.

À vous de jouer ! Quelle option de consultation utiliserez-vous dans Microsoft Excel ? Ou peut-être utiliserez-vous les trois en fonction de vos besoins ? Quoi qu’il en soit, il est bon d’avoir des options !