XLOOKUP vs INDEX-MATCH dans Excel (toutes les comparaisons possibles)

  • Partage Ça
Hugh West

Aujourd'hui, je vais faire une analyse comparative de le XLOOKUP vs Fonctions INDEX-MATCH sur Excel Dans les versions antérieures de Excel nous avions l'habitude d'utiliser le HLOOKUP le VLOOKUP et le INDEX-MATCH pour rechercher une valeur spécifique dans une plage de cellules. Cependant, avec l'émergence des fonctions Office 365 Excel nous a fourni une nouvelle fonction dynamique appelée la fonction XLOOKUP Dans cet article, j'essaierai de comparer les fonctions les plus utilisées, à savoir la fonction XLOOKUP et le INDEX-MATCH .

Télécharger le cahier d'exercices

Obtenez ce fichier d'exemple pour une meilleure compréhension.

Fonctions XLOOKUP vs INDEX-MATCH.xlsx

Introduction à la fonction XLOOKUP

Le site XLOOKUP est utilisée pour trouver une valeur spécifique dans une plage de cellules ou un tableau. Ensuite, elle renvoie la première correspondance correspondante. Elle affiche également la correspondance la plus proche ou approximative lorsqu'il n'y a pas de correspondance exacte.

Syntaxe :

=XLOOKUP(lookup_value,lookup_array,return_array, [if_not_found], [match_mode], [search_mode])

Arguments :

  • Valeur de la recherche : C'est la valeur que nous recherchons dans une colonne spécifique de la plage.
  • Tableau de recherche : C'est le tableau dans lequel on cherche le valeur de la recherche Peut être à la fois une ligne et une colonne.
  • Return_array : Il s'agit de la colonne à partir de laquelle la valeur correspondante de la fonction valeur de la recherche sera renvoyé.

Arguments facultatifs :

  • Si_non_trouvé : Il s'agit de la valeur qui sera renvoyée en cas d'échec de l'opération. lookup_array n'a pas la valeur de la recherche.
  • Match_mode : Il s'agit d'un nombre qui indique le type de correspondance de l'élément d'information. valeur de la recherche C'est un argument facultatif qui peut contenir quatre valeurs.
  1. Lorsqu'il est 0 , XLOOKUP recherchera une correspondance exacte (par défaut).
  2. Lorsqu'il est 1 , XLOOKUP Si une correspondance exacte n'est pas trouvée, elle correspondra à la valeur immédiatement inférieure.
  3. Lorsqu'il est -1 , XLOOKUP Si une correspondance exacte n'est pas trouvée, il s'agit de la valeur la plus grande suivante.
  4. Lorsqu'il est 2 , XLOOKUP recherchera d'abord une correspondance approximative à l'aide de caractères génériques (applicable uniquement aux valeurs de recherche de type chaîne).
  • Mode de recherche : Il s'agit d'un nombre indiquant le type d'opération de recherche effectuée sur le lookup_array. Il est également facultatif. Il peut avoir quatre valeurs :
  1. Si c'est le cas 1 , XLOOKUP cherchera de haut en bas dans le lookup_array (Par défaut).
  2. Lorsqu'il est -1 , XLOOKUP cherchera de bas en haut dans le
  3. Si c'est le cas 2 , XLOOKUP effectuera une recherche binaire dans l'ordre ascendant.
  4. Lorsqu'il est -2 , XLOOKUP effectuera une recherche binaire dans l'ordre décroissant.

Introduction aux fonctions INDEX-MATCH

La combinaison de la INDEX-MATCH est utilisée pour extraire une valeur d'un emplacement donné et la faire correspondre à la plage source.

Syntaxe :

=INDEX(tableau,MATCH(lookup_value,lookup_array,match_type),no_of_column)

Arguments :

Pour la fonction INDEX :

  • Array : C'est une plage de cellules dont on veut extraire une valeur.
  • MATCH(lookup_value,lookup_array,match_type) : Il s'agit du numéro de ligne de la plage où se trouve l'élément valeur de la recherche correspond à une valeur spécifique dans le lookup_array .
  • No_of_column : C'est le numéro de la colonne du tableau à partir de laquelle nous voulons retourner une valeur correspondant à l'objet valeur de la recherche .

Pour la fonction MATCH :

  • Lookup_value : C'est la valeur que nous recherchons.
  • Lookup_array : C'est le tableau dans lequel nous cherchons le valeur de la recherche Il peut être à la fois une ligne et une colonne.
  • Match_type : Il s'agit d'un nombre entier indiquant le type de correspondance recherchée, facultatif.
  1. Lorsqu'il est -1 , MATCH cherchera d'abord une correspondance exacte. Si une correspondance exacte n'est pas trouvée, il cherchera la valeur immédiatement supérieure (par défaut) (opposé à l'option XLOOKUP ).

Mais la condition est que le lookup_array doit être trié par ordre croissant, sinon une erreur sera affichée.

  1. Lorsqu'il est 1 , MATCH Dans le cas où une correspondance exacte n'est pas trouvée, il cherchera la valeur immédiatement inférieure (à l'inverse de l'option XLOOKUP ).

Mais la condition est que le lookup_array doit être trié dans l'ordre décroissant cette fois, sinon une erreur sera affichée.

  1. Lorsqu'il est 0 , MATCH recherchera une correspondance exacte.

Lire la suite : Comment sélectionner des données spécifiques dans Excel (6 méthodes)

7 Comparaisons entre les utilisations des fonctions XLOOKUP et INDEX-MATCH

Maintenant que nous avons décomposé la formule, discutons des similitudes et des dissemblances entre les deux fonctions. Avant d'entrer dans le vif du sujet, je présente les principaux points dans un tableau pour vous faciliter la tâche.

Point de discussion Similitude/Dissimilarité Explication
Colonne lookup_array Similitude Tous deux prennent en charge une colonne comme tableau de recherche (lookup_array).
Row lookup_array Similitude Tous deux prennent en charge une ligne comme tableau de recherche.
Pas de correspondance de lookup_value Dissimilarité XLOOKUP a l'option de configuration par défaut pour ne pas faire correspondre la valeur de lookup_value, mais INDEX-MATCH n'en a pas.
Correspondance approximative Similitude partielle XLOOKUP peut trouver la plus petite ou la plus grande valeur suivante lorsqu'il n'y a pas de correspondance exacte. INDEX-MATCH peut également le faire, mais le tableau de lookup_array doit être trié par ordre croissant ou décroissant.
Jokers correspondants Similitude Tous deux prennent en charge les caractères génériques correspondants.
Correspondance de valeurs multiples Similitude partielle XLOOKUP peut trouver la première ou la dernière valeur lorsque plusieurs valeurs correspondent, mais INDEX-MATCH ne peut renvoyer que la première valeur qui correspond.
Formule Array Similitude Les deux supportent la formule du tableau.

1. XLOOKUP et INDEX-MATCH pour rechercher une valeur dans une colonne

Il y a une similitude entre les deux fonctions sur cet aspect. Pour la XLOOKUP et le INDEX-MATCH le lookup_array peut être une colonne pour les deux fonctions. Ici, nous recherchons l'adresse exacte de la fonction Notes en physique du nom de l'étudiant dans C ell F5 , Jennifer Marlo Nous voulions faire une recherche de haut en bas dans la base de données de l'UE. Nom de l'élève et retourner " Non trouvé "dans le cas où aucune correspondance n'a été trouvée.

  • Pour XLOOKUP appliquer la formule dans Cellule G5 .
=XLOOKUP(F5,C5:C16,D5:D16,"Not Found",0,1)

  • Pour INDEX-MATCH utiliser cette formule dans Cellule G5 .
=INDEX(B5:D16,MATCH(F5,C5:C16,0),3)

Lire la suite : Comment faire correspondre plusieurs critères à partir de différents tableaux dans Excel ?

2. XLOOKUP et INDEX-MATCH pour rechercher la valeur dans la ligne

Il y a également une similitude entre les deux fonctions sur cet aspect. Pour la XLOOKUP et le INDEX-MATCH le lookup_array peut également être une ligne pour les deux fonctions. Pour illustrer, nous avons un nouvel ensemble de données avec la fonction IDs , Noms et Notes en physique et Grades .

Considérons pour un instant qu'il s'agit d'un ensemble de données très large, et que nous ne savons pas quel est le nombre des Grade Ensuite, pour connaître la note d'un élève particulier, nous devons utiliser la colonne Ligne d'en-tête (B4:E4) en tant que lookup_array et le mot " Grade " comme le valeur de la recherche Nous pouvons l'accomplir en utilisant à la fois le XLOOKUP et le INDEX-MATCH .

  • Pour connaître le grade de la 3ème étudiant le XLOOKUP Cellule G5 .
=XLOOKUP("Grade",B4:E4,B7:E7, "Not Found",0,1)

  • Dans ce cas, le INDEX-MATCH La formule sera :
=INDEX(B5:E16,3,MATCH("Grade",B4:E4,0))

3. XLOOKUP et INDEX-MATCH lorsqu'aucune correspondance n'est trouvée

Les deux fonctions sont différentes sur ce point. Si la valeur de la recherche ne correspond à aucune valeur dans le fichier lookup_array vous pouvez définir une valeur fixe qui sera renvoyée dans le champ XLOOKUP Pour ce faire, vous devez définir cette valeur dans l'option si_non_trouvé D'un autre côté, il n'y a pas d'option de ce type dans l'argument de l'utilisateur. INDEX-MATCH Il renverra une erreur. Vous devez utiliser la fonction la fonction IFERROR Dans l'ensemble de données donné, nous trouverons la valeur de l'erreur. Nom de l'étudiant avec l'ID 100 .

  • Pour cela, utilisez les éléments suivants XLOOKUP formule en Cellule G5 .
=XLOOKUP(100,B5:B16,C5:C16,"Not Found",0,1)

  • D'autre part, appliquez cette INDEX-MATCH formule.
=INDEX(B5:E16,MATCH(100,B5:B16,0),2)

  • Comme elle renvoie une erreur, vous devez utiliser un fichier IFERROR en dehors de la fonction pour gérer cette erreur.
=IFERROR(INDEX(B5:E16,MATCH(100,B5:B16,0),2), "Non trouvé")

Lectures similaires

  • Excel INDEX MATCH pour renvoyer plusieurs valeurs dans une cellule
  • Formule Excel INDEX-MATCH pour renvoyer plusieurs valeurs horizontalement
  • Comment utiliser la formule INDEX-MATCH dans Excel pour générer des résultats multiples ?
  • [CORRIGÉ !] INDEX MATCH ne retourne pas la bonne valeur dans Excel (5 raisons)
  • Comment utiliser INDEX MATCH au lieu de VLOOKUP dans Excel (3 façons)

4. XLOOKUP et INDEX-MATCH en cas de correspondances approximatives

Sur ce point, il existe une similitude partielle entre les deux fonctions. XLOOKUP si la fonction valeur de la recherche ne correspond à aucune valeur dans le lookup_array vous pouvez modifier la formule pour qu'elle renvoie la valeur immédiatement inférieure ou immédiatement supérieure. Définissez l'argument type de correspondance à -1 si vous voulez la prochaine plus petite valeur et le mettre à 1 si vous voulez la valeur supérieure suivante.

Par exemple, nous trouverons l'élève ayant obtenu une note de 50 ou la marque suivante plus grande.

  • Pour trouver la valeur, appliquez cette XLOOKUP formule.
=XLOOKUP(50,D5:D16,C5:C16,"Not Found",1,1)

  • Comme vous pouvez le voir, il n'y a aucun étudiant avec une note de 50 C'est pour cela qu'il affiche celui qui suit immédiatement. 50 , 51 par Desmond Hayes .

Il existe la même option dans le INDEX-MATCH Mais l'inconvénient est que vous devez trier le lookup_array dans l'ordre décroissant si vous voulez la plus grande valeur suivante. Sinon, il retournera une erreur. Et pour obtenir la plus petite valeur suivante, vous devez trier dans l'ordre croissant.

  • Tout d'abord, insérez cette formule dans Cellule G5 .
=INDEX(B5:E16,MATCH(50,D5:D16,-1),2)

  • En conséquence, vous verrez que le résultat montre une #N/A erreur.
  • Par conséquent, il faut trier les Plage de cellules D5:D16 par ordre croissant et vous obtiendrez la valeur correcte.

Note spéciale : Dans le XLOOKUP fonction, -1 fonctionne pour la valeur inférieure suivante, mais dans INDEX-MATCH , -1 fonctionne pour la valeur supérieure suivante. De la même manière, dans le programme XLOOKUP 1 fonctionne pour la valeur supérieure suivante, mais dans la fonction INDEX-MATCH, 1 fonctionne pour la valeur immédiatement inférieure.

Lire la suite : Comment utiliser INDEX et Match pour une correspondance partielle (2 façons)

5. XLOOKUP et INDEX-MATCH en cas de correspondance de caractères génériques

Il y a une similitude entre les deux fonctions sous cet aspect. La XLOOKUP et le INDEX-MATCH les deux soutiennent Wildcards Ici, nous trouverons tout étudiant avec " Marlo "Suivons les étapes ci-dessous pour voir si le nom de l'utilisateur est le même que celui de l'utilisateur. XLOOKUP vs INDEX-MATCH comparaison.

  • Tout d'abord, appliquez cette XLOOKUP formule en Cellule G5 pour obtenir la sortie.
=XLOOKUP("*Marlo*",C5:C16,C5:C16,"Not Found",2,1)

Note : Pour utiliser des caractères de remplacement dans XLOOKUP vous devez définir le type de correspondance argument pour 2 Sinon, cela ne fonctionnera pas.

  • D'autre part, le INDEX-MATCH pour accomplir la même tâche sera la suivante.
=INDEX(B5:E16,MATCH("*Marlo*",C5:C16,0),2)

Lire la suite : INDEX MATCH critères multiples avec joker dans Excel (Guide complet)

6. XLOOKUP et INDEX-MATCH lorsque plusieurs valeurs correspondent à la valeur recherchée

Cet exemple montre XLOOKUP vs INDEX-MATCH lorsque plusieurs valeurs correspondent à la valeur recherchée. Il existe également une similitude partielle entre les deux fonctions à cet égard. La fonction XLOOKUP et le INDEX-MATCH ne renvoient qu'une seule valeur dans le cas où plusieurs valeurs dans le champ lookup_array correspond au valeur de la recherche Mais dans le XLOOKUP vous pouvez modifier la recherche pour obtenir soit la première, soit la dernière correspondance. Pour obtenir la première valeur qui correspond, définissez la fonction type de recherche argument pour 1 Et pour obtenir la dernière valeur qui correspond, définissez l'attribut type de recherche argument pour -1 Mais en INDEX-MATCH vous n'avez pas le choix, vous n'obtiendrez que la première valeur qui correspond.

  • Pour obtenir le premier étudiant qui a obtenu 100 vous pouvez utiliser ceci XLOOKUP formule en Cellule G5 .
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,1)

  • Avec cela, vous obtiendrez le dernier étudiant avec 100 en utilisant ce XLOOKUP formule.
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,-1)

  • Au contraire, vous n'obtiendrez que la première valeur qui correspond à ce critère. INDEX-MATCH formule.
=INDEX(B5:E16,MATCH(100,D5:D16,0),2)

7. XLOOKUP et INDEX-MATCH en cas de valeurs de recherche multiples

Dans cet exemple, nous allons démontrer XLOOKUP vs INDEX-MATCH en cas de valeurs de recherche multiples. Il y a une similitude entre les deux fonctions à cet égard. Toutes deux permettent des valeurs de recherche multiples. valeurs de recherche (Formule Array).

  • Pour le XLOOKUP la formule suivante fonctionnera.
=XLOOKUP(G5:G8,B5:B16,E5:E16,"Not Found",0,1)

  • Ensuite, pour INDEX-MATCH la fonction suivante fonctionnera également.
=INDEX(B5:E16,MATCH(G5:G8,B5:B16,0),4)

Avantages et inconvénients de la fonction XLOOKUP

Il y a certains avantages et inconvénients à utiliser le XLOOKUP Voyons-les en bref.

Avantages

  • Définir une valeur par défaut pour les cas d'absence de correspondance.
  • Possibilité de rechercher des correspondances approximatives sans trier les lookup_array .
  • Avoir accès à la recherche à partir de la première et de la dernière cellule de l'écran. lookup_array .

Inconvénients

  • Fonctionne plus lentement que le INDEX-MATCH fonction.
  • Disponible en Office 365 seulement.

Avantages et inconvénients des fonctions INDEX-MATCH

Le site INDEX-MATCH fonctions ont également obtenu certains des avantages et inconvénients suivants.

Avantages

  • Fonctionne plus rapidement que le XLOOKUP fonction.
  • Disponible dans l'ancien Excel versions.

Inconvénients

  • Ne peut pas gérer les erreurs lorsqu'aucune correspondance n'est trouvée.
  • Besoin de la lookup_array à trier pour trouver des correspondances approximatives.
  • Renvoie uniquement la première valeur lorsque plusieurs valeurs correspondent à l'exigence de l'option valeur de la recherche .

Conclusion

Enfin, nous arrivons à la fin de notre long article, dans lequel nous avons essayé de créer une analyse comparative de l'industrie de l'énergie. XLOOKUP contre le INDEX-MATCH Nous vous invitons à nous faire part de vos suggestions à ce sujet. ExcelWIKI pour d'autres tutoriels.

Hugh West est un formateur et analyste Excel très expérimenté avec plus de 10 ans d'expérience dans l'industrie. Il est titulaire d'un baccalauréat en comptabilité et finance et d'une maîtrise en administration des affaires. Hugh a une passion pour l'enseignement et a développé une approche pédagogique unique qui est facile à suivre et à comprendre. Sa connaissance approfondie d'Excel a aidé des milliers d'étudiants et de professionnels du monde entier à améliorer leurs compétences et à exceller dans leur carrière. Grâce à son blog, Hugh partage ses connaissances avec le monde, offrant des tutoriels Excel gratuits et une formation en ligne pour aider les particuliers et les entreprises à atteindre leur plein potentiel.