Cursus
Dans cet article, je montrerai ce qui rend la fonction MATCH()
d'Excel unique par rapport aux autres fonctions de recherche d'Excel.
Ce qui rend MATCH()
unique, c'est que, contrairement à VLOOKUP()
ou HLOOKUP()
, qui renvoient des valeurs réelles, MATCH()
nous donne la position d'une valeurce qui peut s'avérer extrêmement utile dans de nombreuses situations.voyons comment.
La réponse rapide
Pour trouver la position d'une valeur à l'aide de la fonction MATCH()
:
-
Cliquez sur une cellule vide à l'endroit où vous souhaitez obtenir le résultat.
-
Type
=MATCH(
-
Inscrivez ensuite la valeur de la recherche entre guillemets
-
Sélectionnez le site
lookup_array
. -
Saisissez le type de correspondance (
0
pour une correspondance exacte) et appuyez sur Entrée.
Par exemple, je dispose d'une liste de fruits et de leurs ventes dans la plage A2:B6, et je souhaite trouver la position de l'orange dans cette liste. Pour ce faire, j'écris la formule suivante et j'appuie sur Entrée :
=MATCH(“Orange”, A2:A6, 0)
L'écran affichera 4, car l'orange est le quatrième fruit de la liste.
Utilisez la fonction MATCH(). Image par l'auteur.
Comprendre la fonction MATCH() d'Excel
Il y a plus d'une façon d'utiliser MATCH()
et la façon dont nous l'utilisons peut modifier ce que nous en retirons. Voyons cela plus en détail afin que vous puissiez décider ce qui vous convient le mieux.
Qu'est-ce que la fonction MATCH() ?
La fonction MATCH()
d'Excel renvoie la position d'une valeur dans une liste. Au lieu de donner la valeur réelle, il nous indique où se trouve cette valeur. Cela fonctionne mieux lorsque nous devons connaître la position plutôt que la valeur elle-même, en particulier pour les recherches dynamiques.
Syntaxe de la fonction MATCH()
La syntaxe de MATCH()
est la suivante :
MATCH(lookup_value, lookup_array, [match_type])
Ici :
-
lookup_value
est la valeur que nous recherchons danslookup_array
. -
lookup_array
est la liste qui recherche cette valeur. -
match_type
(facultatif) indique comment effectuer la recherche.1
(par défaut) renvoie la plus grande valeur inférieure ou égale àlookup_value
(la liste doit être triée par ordre croissant).0
renvoie une correspondance exacte. Et-1
renvoie la plus petite valeur supérieure ou égale à ce que vous recherchez (la liste doit être triée par ordre décroissant).
Ce qu'il faut savoir sur la fonction MATCH()
Avant d'utiliser la fonction MATCH()
, il convient de connaître quelques petites choses. Ils vous aideront à éviter les erreurs et vous faciliteront la tâche :
-
MATCH()
ne se préoccupe pas des majuscules et des minuscules, donc apple, Apple et APPLE sont traités de la même manière. -
Si nous travaillons avec du texte et que nous définissons
match_type
comme0
, nous pouvons utiliser des caractères génériques tels que*
pour représenter plusieurs caractères et?
pour représenter un seul caractère. -
Si
MATCH()
ne trouve pas la valeur souhaitée, il renvoie uneerreur#N/A
.
Exemples de base d'utilisation de la fonction MATCH() d'Excel
Maintenant que nous savons ce qu'est la fonction MATCH()
et comment elle fonctionne, voyons comment nous pouvons l'utiliser à l'aide de quelques exemples :
Exemple 1 : Trouver la position d'un nombre
Supposons que je dispose d'une série de nombres dans la cellule A2:A7
et que je veuille trouver la position du nombre 40
dans une liste. Pour ce faire, je peux utiliser la fonction MATCH()
comme suit :
=MATCH(40, A2:A7, 0)
Je peux également utiliser une référence de cellule pour la valeur de recherche.
=MATCH(D1, A2:A7, 0)
Si vous regardez l'en-tête Excel de gauche, vous verrez que le nombre 40
se trouve à la ligne 6. Mais le résultat indique 5. En effet, nous commençons à compter à partir de A2
. Ainsi, lorsqu'Excel compte à partir de là, il nous donne 5au lieu de 6.
Trouvez la position d'un nombre à l'aide de la fonction MATCH(). Image par l'auteur.
Exemple 2 : Trouver la position d'une valeur de texte
J'ai une liste de joueurs dans la cellule A2:A7
et leurs scores dans la cellule B2:B7
triés par ordre croissant, et je veux trouver la position du joueur Emily. Pour cela, ma formule est la suivante :
=MATCH(E1,A2:A6, 0)
Cette formule recherche la valeur de la cellule D1
dans la plage A2:A7
et renvoie 3
car Emily est le troisième joueur de la liste.
Trouvez la position d'un texte à l'aide de la fonction MATCH(). Image par l'auteur.
Correspondance floue et correspondance par caractères génériques dans Excel
Parfois, les données avec lesquelles nous travaillons ne sont pas parfaites - il peut y avoir des fautes de frappe, des orthographes différentes ou des formats désordonnés. Dans de tels cas, les correspondances floues et les caractères génériques peuvent aider à mettre de l'ordre dans tout cela.
Correspondance floue
L'appariement flou permet de trouver des enregistrements dans différentes listes qui sont similaires mais pas exactement les mêmes. Ceci est utile lorsqu'il y a une légère variation ou des fautes de frappe comme Frank vs. Feank.
J'ai deux ensembles de données : Liste des commandes des clients et des membres du programme de fidélisation. Et je veux vérifier quellescommandes des clientsse trouvent déjà dans le programme de fidélisation, même s'il y a des variations dues à des fautes de frappe, à des surnoms ou à des différences de formatage. Une adresse VLOOKUP()
ne fonctionnera pas ici car les noms ne correspondent pas exactement.
Étape 1 : Convertir les données en tableaux
-
Sélectionner Commandes clientsappuyez sur
Ctrl + T
. -
Sélectionnez Membres du programme de fidélitéAppuyez sur
Ctrl + T
.
Veillez à ce qu'il y ait de l'espace entre les deux tableaux pour les séparer.
Étape 2 : Charger des données dans Power Query
- Cliquez n'importe où à l'intérieur Commandes clientset nommez-la Table_Ordres.
- Aller à Données > Obtenir des données > À partir d'un tableau/d'une plage.
- Cliquez ici Fermer et charger pour le charger dans Power Query.
- Répétez les étapes 1 à 3 pour les Membres du programme de fidélitéet nommez-la Table_de_fidélité mais cette fois-ci, sélectionnez Fermer et charger dans et chargez-le dans la même feuille Excel.
Les deux tableaux sont maintenant chargés dans Power Query.
Chargez les tableaux dans Power Query. Image par l'auteur.
Étape 3 : Fusionner des tableaux à l'aide d'une correspondance floue
- Aller à Données > Obtenir des données > Combinez les requêtes > Fusionner les requêtes.
- Dans la fenêtre Fusionner, sélectionnez le premier tableau (Table_Ordres) et le second tableau (Table_Fidélité)
- Sélectionnez le Nom du client dans les deux tableaux.
- Vérifiez les Utiliser la correspondance floue dans la case.
- Cliquez sur le menu déroulant et fixez le seuil de similarité à 0.3 (autorise certaines variations comme les fautes de frappe ou les surnoms).
Utilisez la correspondance floue pour fusionner les tableaux. Image par l'auteur.
Power Query fait désormais correspondre les noms qui sont similaires plutôt qu'exacts.
Étape 4 : Élargir les données appariées
- Cliquez sur l'icône icône de développement à côté de la colonne correspondante.
- Sélectionnez Nom du client à partir de Table_de_fidélité et cliquez sur CLIQUEZ SUR OK..
- Fermez et chargez les résultats dans Excel.
Vous pouvez voir dans l'image ci-dessous que la recherche floue a automatiquement fait correspondre les clients avec des variations de nom.
Tableaux fusionnés à l'aide de la correspondance floue. Image par l'auteur.
Match de rattrapage
La correspondance par caractères génériques nous aide à trouver des noms ou des valeurs lorsque nous ne connaissons qu'une partie de ce que nous recherchons. Il est utile de travailler avec des entrées similaires ou des souvenirs flous. Nous pouvons utiliser deux caractères génériques :
-
*
correspond à n'importe quel nombre de caractères (par exemple, Jo* correspond à Jean et Jonathan). -
?
ne correspond qu'à un seul caractère (par exemple, J?ck correspond à Jack mais pas Jake).
Voici comment ils fonctionnent :
-
A*
correspond à tout ce qui commence par A. -
*A
correspond à tout ce qui se termine par A. -
*A*
correspond à tout ce qui contient A dans la cellule.
Par exemple, pour trouver le nom de la personne dont le nom se termine par ej'utilise :
=MATCH("*e", A2:A11, 0)
Vous pouvez voir dans l'image ci-dessous que la formule renvoie 3
parce que le nom Charlie se termine par e.
Recherchez la position à l'aide de caractères génériques. Image par l'auteur.
Combinaison de MATCH() avec d'autres fonctions Excel
MATCH()
devient encore plus utile lorsque nous l'associons à d'autres fonctions. Il rend nos formules plus flexibles et plus faciles à mettre à jour. Voyons comment.
Combinaison de MATCH() avec INDEX()
MATCH()
est souvent associé à INDEX()
pour des recherches puissantes. Ua différence de VLOOKUP(), qui ne peut effectuer une recherche que de gauche à droite, INDEX() et MATCH() fonctionnent ensemble pour rechercher des valeurs dans n'importe quelle direction.
Par exemple, je dispose d'une liste de joueurs et de leurs scores, et je souhaite trouver le score de Brian. Pour ce faire, j'utilise la formule suivante :
=INDEX(B2:B11,MATCH("Brian",A2:A11,0))
Et avec la référence de la cellule, cela ressemble à :
=INDEX(B2:B11, MATCH(E1, A2:A11, 0))
Combinez INDEX() et MATCH(). Image par l'auteur.
Utilisation de MATCH() pour la sélection dynamique de colonnes dans VLOOKUP()
Nous savons que VLOOKUP()
nécessite la saisie manuelle du numéro de colonne où se trouve le résultat. Si les colonnes changent, nous devons mettre à jour la formule. Pour éviter cela, nous pouvons utiliser MATCH()
pour trouver automatiquement la colonne de droite.
Par exemple, j'ai un ensemble de données et je veux trouver le nom de l'équipe de Emily
. Avec VLOOKUP()
, la formule se présente comme suit :
=VLOOKUP(F1, A2:C12, 3, FALSE)
Cette formule ne peut effectuer une recherche que de gauche à droite, et le numéro de colonne 3
est fixe, de sorte que si les colonnes changent, je dois mettre la formule à jour manuellement.
Ainsi, au lieu de coder en dur le numéro de colonne dans VLOOKUP()
, nous pouvons combiner MATCH()
comme suit :
=VLOOKUP(F1, A2:C12, MATCH("Team", A1:C1, 0), FALSE)
Dans cette formule, MATCH("Team", A1:C1, 0)
recherche la colonne qui contient l'équipe et la renvoie. Ensuite, VLOOKUP(F1, A2:C4, 3, FALSE)
extrait les données de la troisième colonne au lieu d'un nombre fixe.
Combinez VLOOKUP() et MATCH(). Image par l'auteur.
MATCH() sensible à la casse utilisant EXACT()
Par défaut, MATCH()
ignore les majuscules et les minuscules. Apple et apple seront donc traités de la même manière. Si nous avons besoin d'une recherche sensible à la casse, nous devons combiner MATCH()
avec la fonction EXACT()
comme suit :
=MATCH(TRUE, EXACT(A2:A7, D2), 0)
Il s'agit d'une formule de tableau, appuyez donc sur Ctrl + Shift + Enter
. Dans cette formule, EXACT(A2:A4, "Emily")
vérifie chaque nom et renvoie TRUE
uniquement en cas de correspondance exacte. MATCH(TRUE, ...)
trouve alors le premier TRUE
et renvoie la position.
Combinez EXACT() et MATCH(). Image par l'auteur.
Réflexions finales
MATCH()
les caractères génériques et la correspondance floue peuvent sembler un peu difficiles au début, mais avec un peu de pratique, ils peuvent nous faire gagner beaucoup de temps. Ils sont particulièrement utiles lorsque nous travaillons avec des données désordonnées ou que nous avons besoin de méthodes plus souples pour trouver des éléments dans une feuille de calcul.
Si vous souhaitez en savoir plus, notre cours sur l 'analyse des données dans Excel est une excellente étape. Vous pouvez également consulter notre cursus sur les fondamentaux d'Excel pour acquérir les bases et vous sentir plus à l'aise dans l'utilisation de fonctions comme celles-ci.
Il se peut que vous fassiez des erreurs au début, mais ne vous inquiétez pas s'il vous faut plusieurs tentatives. Cela fait partie de l'apprentissage d'Excel.
Faites progresser votre carrière avec Excel
Acquérir les compétences nécessaires pour optimiser Excel - aucune expérience n'est requise.
Je suis un stratège du contenu qui aime simplifier les sujets complexes. J'ai aidé des entreprises comme Splunk, Hackernoon et Tiiny Host à créer un contenu attrayant et informatif pour leur public.
FAQ sur Excel
Puis-je comparer deux colonnes pour déterminer les correspondances et les différences ?
Vous pouvez utiliser les fonctions ISNA()
et MATCH()
pour vérifier si des valeurs d'une liste existent dans une autre.
=IF(ISNA(MATCH(B1,A1:A6,0)),"Not Present","Present")
Si une valeur de la colonne B n'est pas trouvée dans la colonne A, la formule renvoie "Pas dans la liste 1".
Comment gérer les erreurs lors de l'utilisation de `MATCH()` ?
Lorsque la fonction MATCH()
ne trouve pas de valeur, elle renvoie une erreur #N/A
. Pour le remplacer par un message personnalisé, enroulez votre formule autour de la fonction IFERROR()
comme suit :
=IFERROR(MATCH("Apple", A1:A5, 0), "Not Found")
Cette formule affichera un message personnalisé au lieu d'une erreur.