Fonction Excel XMATCH avec exemples de formules

  • Partage Ça
Michael Brown

Ce tutoriel présente la nouvelle fonction Excel XMATCH et montre comment elle est meilleure que MATCH pour résoudre quelques tâches courantes.

Dans Excel 365, la fonction XMATCH a été ajoutée pour remplacer la fonction MATCH. Mais avant de commencer à mettre à jour vos formules existantes, il serait sage de comprendre tous les avantages de la nouvelle fonction et comment elle diffère de l'ancienne.

En résumé, la fonction XMATCH est identique à MATCH, mais plus souple et plus robuste. Elle peut effectuer des recherches dans des tableaux verticaux et horizontaux, rechercher du premier au dernier ou du dernier au premier, trouver des correspondances exactes, approximatives et partielles, et utiliser un algorithme de recherche binaire plus rapide.

    Fonction Excel XMATCH

    La fonction XMATCH d'Excel renvoie la position relative d'une valeur dans un tableau ou une plage de cellules.

    Il a la syntaxe suivante :

    XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])

    Où :

    Valeur de la recherche (obligatoire) - la valeur à rechercher.

    Tableau de recherche (obligatoire) - le tableau ou la plage de cellules où effectuer la recherche.

    Match_mode (facultatif) - spécifie le type de correspondance à utiliser :

    • 0 ou omis (par défaut) - correspondance exacte
    • -1 - correspondance exacte ou la plus petite valeur suivante
    • 1 - correspondance exacte ou valeur immédiatement supérieure
    • 2 - correspondance avec un caractère de remplacement (*, ?)

    Mode de recherche (facultatif) - spécifie la direction et l'algorithme de recherche :

    • 1 ou omis (par défaut) - recherche du premier au dernier.
    • -1 - recherche dans l'ordre inverse, du dernier au premier.
    • 2 - Recherche binaire ascendante. Requêtes lookup_array pour être triés dans l'ordre croissant.
    • -2 - recherche binaire descendante. Requêtes lookup_array pour être triés par ordre décroissant.

    La recherche binaire est un algorithme plus rapide qui fonctionne efficacement sur les tableaux triés. Pour plus d'informations, veuillez consulter la rubrique Mode de recherche.

    Quelle version d'Excel dispose de XMATCH ?

    La fonction XMATCH est uniquement disponible dans Excel pour Microsoft 365 et Excel 2021. Dans Excel 2019, Excel 2016 et les versions antérieures, cette fonction n'est pas prise en charge.

    Formule XMATCH de base dans Excel

    Pour avoir une idée générale de ce dont la fonction est capable, construisons une formule XMATCH dans sa forme la plus simple, en ne définissant que les deux premiers arguments obligatoires et en laissant les arguments facultatifs à leur valeur par défaut.

    Supposons que vous ayez une liste d'océans classés par leur taille (C2:C6) et que vous souhaitiez trouver le rang d'un océan particulier. Pour cela, il suffit d'utiliser le nom de l'océan, par exemple Indien comme valeur de consultation et la liste complète des noms comme tableau de consultation :

    =XMATCH("Indien", C2:C6)

    Pour rendre la formule plus flexible, entrez l'océan qui vous intéresse dans une cellule, par exemple F1 :

    =XMATCH(F1, C2:C6)

    Comme résultat, vous obtenez une formule XMATCH à rechercher dans un fichier réseau vertical La sortie est la position relative de la valeur recherchée dans le tableau, qui dans notre cas correspond au rang de l'océan :

    Une formule similaire fonctionne parfaitement pour un réseau horizontal Il suffit d'ajuster les paramètres de l'appareil. lookup_array référence :

    =XMATCH(B5, B1:F1)

    Fonction Excel XMATCH - points à retenir

    Pour utiliser efficacement XMATCH dans vos feuilles de calcul et éviter des résultats inattendus, veuillez vous souvenir de ces 3 faits simples :

    • S'il y a deux occurrences ou plus de la valeur de consultation dans le tableau de consultation, la position de la valeur de consultation dans le tableau de consultation est indiquée. premier match est retourné si le mode de recherche est défini à 1 ou omis. Avec mode de recherche définie à -1, la fonction effectue la recherche dans l'ordre inverse et renvoie la position de l'objet de la recherche. dernier match comme le montre cet exemple.
    • Si la valeur de recherche n'est pas trouvé une erreur #N/A se produit.
    • La fonction XMATCH est insensible à la casse Pour distinguer les caractères minuscules et majuscules, utilisez cette formule XMATCH sensible à la casse.

    Comment utiliser XMATCH dans Excel - exemples de formules

    Les exemples suivants vous aideront à mieux comprendre la fonction XMATCH et ses utilisations pratiques.

    Correspondance exacte ou correspondance approximative

    Le comportement de XMATCH en matière de correspondance est contrôlé par le paramètre facultatif mode de correspondance argument :

    • 0 ou omis (par défaut) - la formule ne recherche que la correspondance exacte. Si une correspondance exacte n'est pas trouvée, une erreur #N/A est renvoyée.
    • -1 - la formule recherche d'abord la correspondance exacte, puis l'élément plus petit suivant.
    • 1 - la formule recherche d'abord la correspondance exacte, puis l'élément immédiatement supérieur.

    Voyons maintenant comment les différents modes de correspondance affectent le résultat de la formule. Supposons que vous vouliez savoir où se situe une certaine zone, disons 80 000 000 km2, parmi tous les océans.

    Correspondance exacte

    Si vous utilisez 0 pour mode de correspondance vous obtiendrez une erreur #N/A, car la formule ne peut pas trouver une valeur exactement égale à la valeur de référence :

    =XMATCH(80000000, C2:C6, 0)

    Le plus petit objet suivant

    Si vous utilisez -1 pour mode de correspondance la formule renvoie 3, car la correspondance la plus proche inférieure à la valeur de recherche est 70 560 000, et c'est le troisième élément du tableau de recherche :

    =XMATCH(80000000, C2:C6, -1)

    Article suivant le plus grand

    Si vous utilisez 1 pour mode de correspondance la formule donnera le résultat 2, car la correspondance la plus proche supérieure à la valeur de recherche est 85 133 000, qui est le deuxième élément du tableau de recherche :

    =XMATCH(80000000, C2:C6, -1)

    L'image ci-dessous montre tous les résultats :

    Comment faire correspondre un texte partiel dans Excel avec des caractères génériques ?

    La fonction XMATCH dispose d'un mode de correspondance spécial pour les caractères génériques : la fonction mode de correspondance fixé à 2.

    En mode de correspondance par caractères génériques, une formule XMATCH accepte les caractères génériques suivants :

    • Point d'interrogation ( ?) pour correspondre à tout caractère unique.
    • Astérisque (*) pour correspondre à toute séquence de caractères.

    N'oubliez pas que les caractères génériques ne fonctionnent qu'avec du texte, et non avec des chiffres.

    Par exemple, pour trouver la position du premier élément qui commence par "sud", la formule est la suivante :

    =XMATCH("sud*", B2:B6, 2)

    Vous pouvez également taper votre expression joker dans une cellule, par exemple F1, et fournir la référence de la cellule pour l'expression joker. valeur de la recherche argument :

    =XMATCH(F1, B2:B6, 2)

    Avec la plupart des fonctions Excel, vous utilisez le tilde (~) pour traiter l'astérisque (~*) ou le point d'interrogation (~ ?) comme des caractères littéraux, et non comme des caractères génériques. Avec XMATCH, le tilde n'est pas nécessaire. Si vous ne définissez pas le mode de correspondance des caractères génériques, XMATCH considère que ? et * sont des caractères réguliers.

    Par exemple, la formule ci-dessous recherchera le caractère astérisque dans la plage A2:A7 :

    =XMATCH("*", A2:A7)

    Recherche inverse XMATCH pour trouver la dernière correspondance

    Dans le cas où il y a plusieurs occurrences de la valeur de recherche dans le tableau de recherche, vous pouvez parfois avoir besoin d'obtenir la position de la valeur de recherche dans le tableau de recherche. dernier événement .

    La direction de la recherche est contrôlée par le 4ème argument de XMATCH nommé mode de recherche Pour effectuer une recherche dans l'ordre inverse, c'est-à-dire de bas en haut dans un tableau vertical et de droite à gauche dans un tableau horizontal, mode de recherche doit être fixé à -1.

    Dans cet exemple, nous allons retourner la position du dernier enregistrement pour une valeur de consultation spécifique (voir la capture d'écran ci-dessous). Pour cela, configurez les arguments comme suit :

    • Valeur de la recherche - le vendeur cible dans H1
    • Tableau de recherche - noms des vendeurs dans C2:C10
    • Match_mode est 0 ou omis (correspondance exacte)
    • Mode de recherche est -1 (dernier à premier)

    En réunissant les quatre arguments, on obtient cette formule :

    =XMATCH(H1, C2:C10, 0, -1)

    Qui renvoie le numéro de la dernière vente effectuée par Laura :

    Comment comparer deux colonnes dans Excel pour les faire correspondre

    Pour comparer deux listes afin de trouver des correspondances, vous pouvez utiliser la fonction XMATCH avec IF et ISNA :

    IF( ISNA( XMATCH( Liste des cibles , Liste de recherche , 0)), "No match", "Match")

    Par exemple, pour comparer la liste 2 de B2:B10 à la liste 1 de A2:A10, la formule prend la forme suivante :

    =IF(ISNA(XMATCH(B2:B10, A2:A9)), "", "Correspondance dans la liste 1")

    Dans cet exemple, nous n'identifions que les correspondances, par conséquent, l'indicateur valeur_si_vrai de la fonction IF est une chaîne vide ("").

    Saisissez la formule ci-dessus dans la cellule la plus haute (C2 dans notre cas), appuyez sur la touche Entrée , et elle se répandra automatiquement dans les autres cellules (c'est ce qu'on appelle une plage de déversement) :

    Comment fonctionne cette formule

    Au cœur de la formule, la fonction XMATCH recherche une valeur de la liste 2 dans la liste 1. Si une valeur est trouvée, sa position relative est retournée, sinon une erreur #N/A. Dans notre cas, le résultat de XMATCH est le tableau suivant :

    {#N/A;#N/A;2;#N/A;4;#N/A;#N/A;8;#N/A}

    Ce tableau est "alimenté" par la fonction ISNA pour être vérifié pour les erreurs #N/A. Pour chaque erreur #N/A, ISNA renvoie VRAI ; pour toute autre valeur - FAUX. Comme résultat, il produit le tableau suivant de valeurs logiques, où les VRAIS représentent les non-correspondances, et les FAUX les correspondances :

    {VRAI;VRAI;FAUX;VRAI;FAUX;VRAI;VRAI;VRAI;FAUX;VRAI}

    Le tableau ci-dessus est soumis au test logique de la fonction IF. Selon la façon dont vous avez configuré les deux derniers arguments, la formule produira le texte correspondant. Dans notre cas, il s'agit d'une chaîne vide ("") pour les non correspondances ( valeur_si_vrai ) et "Match dans la liste 1" pour les correspondances ( valeur_si_false ).

    Remarque : cette formule ne fonctionne que dans Excel 365 et Excel 2021 qui prennent en charge les tableaux dynamiques. Si vous utilisez Excel 2019, Excel 2016 ou une version antérieure, veuillez consulter d'autres solutions : Comment comparer deux colonnes dans Excel.

    INDEX XMATCH dans Excel

    XMATCH peut être utilisé en combinaison avec la fonction INDEX pour récupérer une valeur dans une autre colonne associée à la valeur de recherche, tout comme la formule INDEX MATCH. L'approche générique est la suivante :

    INDEX ( retourner _ tableau , XMATCH ( valeur de la recherche , lookup_array )

    La logique est très simple et facile à suivre :

    La fonction XMATCH calcule la position relative de la valeur de consultation dans le tableau de consultation et la transmet à la fonction numéro de rang En fonction du numéro de ligne, la fonction INDEX renvoie une valeur de n'importe quelle colonne que vous spécifiez.

    Par exemple, pour connaître la superficie de l'océan en E1, vous pouvez utiliser cette formule :

    =INDEX(B2:B6, XMATCH(E1, A2:A6))

    INDEX XMATCH XMATCH pour effectuer une recherche bidimensionnelle.

    Pour effectuer une recherche simultanée dans les colonnes et les lignes, utilisez INDEX avec deux fonctions XMATCH. La première XMATCH récupère le numéro de ligne et la seconde le numéro de colonne :

    INDEX ( données , XMATCH ( valeur de la recherche , vertical _ lookup_array ), XMATCH ( valeur de consultation , horizontal _ lookup_array ))

    La formule est similaire à celle de INDEX MATCH MATCH, sauf que vous pouvez omettre l'élément mode de correspondance puisqu'il s'agit d'une correspondance exacte par défaut.

    Par exemple, pour récupérer un numéro de vente pour un article donné (G1) au cours d'un mois spécifique (G2), la formule est la suivante :

    =INDEX(B2:D8, XMATCH(G1, A2:A8), XMATCH(G2, B1:D1))

    Où B2:D8 sont des cellules de données à l'exclusion des en-têtes de ligne et de colonne, A2:A8 est une liste d'éléments et B1:D1 sont des noms de mois.

    Formule XMATCH sensible à la casse

    Comme nous l'avons déjà mentionné, la fonction XMATCH d'Excel est par nature insensible à la casse. Pour la forcer à distinguer la casse du texte, utilisez XMATCH en combinaison avec la fonction EXACT :

    MATCH(TRUE, EXACT( lookup_array , valeur de la recherche ))

    Pour chercher dans ordre inverse du dernier au premier :

    MATCH(TRUE, EXACT( lookup_array , valeur de la recherche ), 0, -1)

    L'exemple suivant montre cette formule générique en action. Supposons que vous ayez une liste d'identifiants de produits sensibles à la casse dans B2:B11. Vous cherchez à trouver la position relative de l'article dans E1. Une formule sensible à la casse dans E2 est aussi simple que ceci :

    =XMATCH(TRUE, EXACT(B2:B11, E1))

    Comment fonctionne cette formule :

    La fonction EXACT compare la valeur de la recherche à chaque élément du tableau de recherche. Si les valeurs comparées sont exactement égales, y compris la casse des caractères, la fonction renvoie VRAI, sinon FAUX. Ce tableau de valeurs logiques (où les VRAIS représentent des correspondances exactes) est envoyé à la fonction lookup_array Et comme la valeur de recherche est VRAIE, la fonction XMATCH renvoie la position de la première correspondance exacte trouvée ou de la dernière correspondance exacte, selon la façon dont vous avez configuré l'argument mode de recherche argument.

    XMATCH vs. MATCH dans Excel

    XMATCH a été conçu comme un remplacement plus puissant et plus polyvalent de MATCH, et ces deux fonctions ont donc beaucoup en commun, mais il existe des différences essentielles.

    Un comportement par défaut différent

    La fonction MATCH propose par défaut une correspondance exacte ou l'élément suivant le plus petit ( type de correspondance défini à 1 ou omis).

    La fonction XMATCH utilise par défaut la correspondance exacte ( mode de correspondance mis à 0 ou omis).

    Comportement différent pour une correspondance approximative

    Lorsque le mode de correspondance / type de correspondance est fixé à 1 :

    • MATCH recherche une correspondance exacte ou la plus petite suivante. Le tableau de recherche doit être trié par ordre croissant.
    • XMATCH recherche la correspondance exacte ou la plus proche. Il ne nécessite aucun tri.

    Lorsque le mode de correspondance / type de correspondance est défini à -1 :

    • MATCH recherche une correspondance exacte ou la plus grande suivante, ce qui nécessite de trier le tableau de recherche par ordre décroissant.
    • XMATCH recherche la correspondance exacte ou la plus petite suivante. Il ne nécessite aucun tri.

    Recherche par caractères génériques

    Pour trouver des correspondances partielles avec XMATCH, vous devez définir l'attribut mode de correspondance argument à 2.

    La fonction MATCH ne dispose pas d'une option spéciale de mode de correspondance avec les caractères génériques. Dans la plupart des cas, vous la configurerez pour une correspondance exacte ( type de correspondance définie à 0), qui fonctionne également pour les recherches par caractères génériques.

    Mode de recherche

    Comme la nouvelle fonction XLOOKUP, XMATCH dispose d'une fonction spéciale. mode de recherche qui vous permet de définir l'argument direction de la recherche :

    • 1 ou omis (par défaut) - recherche du premier au dernier.
    • -1 - recherche inversée du dernier au premier.

    Et choisissez un algorithme de recherche binaire qui est très rapide et efficace sur données triées .

    • 2 - recherche binaire sur des données triées par ordre croissant.
    • -2 - recherche binaire sur des données triées par ordre décroissant.

    Recherche binaire également appelé recherche par demi-intervalle ou recherche logarithmique La recherche binaire est un algorithme spécial qui trouve la position d'une valeur de recherche dans un tableau en la comparant à l'élément central du tableau. La recherche binaire est beaucoup plus rapide qu'une recherche normale mais ne fonctionne correctement que sur des listes triées. Sur des données non triées, elle peut renvoyer des résultats erronés qui peuvent sembler normaux à première vue.

    La syntaxe de MATCH ne prévoit pas du tout l'argument du mode de recherche.

    XMATCH gère les tableaux de manière native

    Contrairement à son prédécesseur, la fonction XMATCH a été conçue pour Excel dynamique et gère les tableaux de manière native, sans que vous ayez à appuyer sur les touches Ctrl + Shift + Enter . Cela rend les formules beaucoup plus faciles à construire et à modifier, en particulier lorsque vous utilisez plusieurs fonctions différentes ensemble. Il suffit de comparer les solutions suivantes :

    • Formule sensible à la casse : XMATCH
    • Comparer deux colonnes ou listes pour trouver des correspondances : XMATCH

    Disponibilité de XMATCH et MATCH

    XMATCH est une nouvelle fonction et elle n'est disponible que dans Excel pour Microsoft 365 et Excel 2021.

    La fonction MATCH est disponible dans toutes les versions d'Excel 365 à Excel 2007.

    Voilà comment utiliser la fonction XMATCH dans Excel. Je vous remercie de votre lecture et j'espère vous voir sur notre blog la semaine prochaine !

    Cahier d'exercices à télécharger

    Exemples de formules Excel XMATCH (fichier .xlsx)

    Michael Brown est un passionné de technologie passionné par la simplification de processus complexes à l'aide d'outils logiciels. Avec plus d'une décennie d'expérience dans l'industrie de la technologie, il a perfectionné ses compétences dans Microsoft Excel et Outlook, ainsi que dans Google Sheets et Docs. Le blog de Michael est dédié au partage de ses connaissances et de son expertise avec les autres, en fournissant des conseils et des tutoriels faciles à suivre pour améliorer la productivité et l'efficacité. Que vous soyez un professionnel chevronné ou un débutant, le blog de Michael offre des informations précieuses et des conseils pratiques pour tirer le meilleur parti de ces outils logiciels essentiels.