Table des matières
Ce tutoriel explique comment utiliser la fonction MATCH dans Excel avec des exemples de formules. Il montre également comment améliorer vos formules de consultation en créant des formules dynamiques avec VLOOKUP et MATCH.
Dans Microsoft Excel, il existe de nombreuses fonctions de recherche/référence qui peuvent vous aider à trouver une certaine valeur dans une plage de cellules, et la fonction MATCH est l'une d'entre elles. Fondamentalement, elle identifie la position relative d'un élément dans une plage de cellules. Cependant, la fonction MATCH peut faire beaucoup plus que son essence pure.
Fonction MATCH d'Excel - syntaxe et utilisations
La fonction MATCH d'Excel recherche une valeur spécifiée dans une plage de cellules et renvoie la position relative de cette valeur.
La syntaxe de la fonction MATCH est la suivante :
MATCH(lookup_value, lookup_array, [match_type])Valeur de la recherche (obligatoire) - la valeur que vous souhaitez trouver. Il peut s'agir d'une valeur numérique, textuelle ou logique, ainsi que d'une référence de cellule.
Tableau de recherche (obligatoire) - la plage de cellules à rechercher.
Type de correspondance (facultatif) - définit le type de correspondance. Il peut prendre l'une des valeurs suivantes : 1, 0, -1. L'argument match_type défini à 0 renvoie uniquement la correspondance exacte, tandis que les deux autres types permettent une correspondance approximative.
- 1 ou omis (par défaut) - trouver le fichier valeur maximale dans le tableau de recherche qui est inférieur ou égal à la valeur de recherche. Il faut trier le tableau de recherche dans l'ordre croissant, du plus petit au plus grand ou de A à Z.
- 0 - trouver la première valeur du tableau qui est exactement égal à la valeur de consultation. Aucun tri n'est nécessaire.
- -1 - trouver le la plus petite valeur Le tableau de consultation doit être trié par ordre décroissant, du plus grand au plus petit ou de Z à A.
Pour mieux comprendre la fonction MATCH, créons une formule simple basée sur ces données : les noms des étudiants dans la colonne A et leurs notes d'examen dans la colonne B, triés du plus grand au plus petit. Pour trouver où un étudiant spécifique (disons, Laura ), entre autres, utilisent cette formule simple :
=MATCH("Laura", A2:A8, 0)
En option, vous pouvez placer la valeur de la consultation dans une cellule (E1 dans cet exemple) et faire référence à cette cellule dans votre formule Excel Match :
=MATCH(E1, A2:A8, 0)
Comme vous le voyez dans la capture d'écran ci-dessus, les noms des élèves sont saisis dans un ordre arbitraire, et nous définissons donc l'élément type de correspondance à 0 (correspondance exacte), car seul ce type de correspondance ne nécessite pas de trier les valeurs dans le tableau de recherche. Techniquement, la formule de correspondance renvoie la position relative de Laura dans la plage. Mais comme les notes sont triées de la plus grande à la plus petite, elle nous indique également que Laura a la 5e meilleure note parmi tous les élèves.
Conseil : dans Excel 365 et Excel 2021, vous pouvez utiliser la fonction XMATCH, qui est un successeur moderne et plus puissant de MATCH.
4 choses que vous devez savoir sur la fonction MATCH
Comme vous venez de le voir, l'utilisation de MATCH dans Excel est facile. Cependant, comme c'est le cas pour presque toutes les autres fonctions, il existe quelques spécificités dont vous devez être conscient :
- La fonction MATCH renvoie le position relative de la valeur de recherche dans le tableau, et non la valeur elle-même.
- MATCH est insensible à la casse Il ne fait pas de distinction entre les caractères minuscules et majuscules lorsqu'il traite des valeurs textuelles.
- Si le tableau de consultation contient plusieurs occurrences de la valeur de consultation, la position de la première valeur est renvoyée.
- Si la valeur de la recherche n'est pas trouvée dans le tableau de recherche, l'erreur #N/A est renvoyée.
Comment utiliser MATCH dans Excel - exemples de formules
Maintenant que vous connaissez les utilisations de base de la fonction MATCH d'Excel, examinons quelques autres exemples de formules qui vont au-delà de l'essentiel.
Correspondance partielle avec des caractères génériques
Comme de nombreuses autres fonctions, MATCH comprend les caractères génériques suivants :
- Point d'interrogation ( ?) - remplace n'importe quel caractère unique
- Astérisque (*) - remplace toute séquence de caractères.
Remarque : les caractères génériques ne peuvent être utilisés dans les formules de correspondance qu'avec les éléments suivants type de correspondance fixé à 0.
Une formule Match avec des caractères génériques s'avère utile dans les situations où vous souhaitez faire correspondre non pas l'ensemble de la chaîne de texte, mais uniquement certains caractères ou une partie de la chaîne.
Supposons que vous ayez une liste de revendeurs régionaux et leurs chiffres de vente pour le mois dernier. Vous voulez trouver la position relative d'un certain revendeur dans la liste (triée par les montants des ventes dans l'ordre décroissant) mais vous ne vous souvenez pas exactement de son nom, bien que vous vous souveniez de quelques premiers caractères.
En supposant que les noms des revendeurs se situent dans la plage A2:A11, et que vous recherchez le nom qui commence par "voiture", la formule est la suivante :
=MATCH("voiture*", A2:A11,0)
Pour rendre notre formule Match plus polyvalente, vous pouvez saisir la valeur de recherche dans une cellule (E1 dans cet exemple), puis concaténer cette cellule avec le caractère générique, comme ceci :
=MATCH(E1& ; "*", A2:A11,0)
Comme le montre la capture d'écran ci-dessous, la formule renvoie 2, qui est la position de "Carter" :
Pour remplacer un seul caractère dans la valeur de recherche, utilisez l'opérateur joker " ?", comme ceci :
=MATCH("ba?er", A2:A11,0)
La formule ci-dessus fera correspondre le nom " Baker "et réexécute sa position relative, qui est de 5.
Formule MATCH sensible à la casse
Comme nous l'avons mentionné au début de ce tutoriel, la fonction MATCH ne distingue pas les caractères majuscules et minuscules. Pour créer une formule Match sensible à la casse, utilisez MATCH en combinaison avec la fonction EXACT qui compare les cellules exactement, y compris la casse des caractères.
Voici la formule générique sensible à la casse pour faire correspondre les données :
MATCH(TRUE, EXACT( tableau de consultation , valeur de consultation ), 0)La formule fonctionne selon la logique suivante :
- La fonction EXACT compare la valeur de la consultation avec chaque élément du tableau de consultation. Si les cellules comparées sont exactement égales, la fonction renvoie VRAI, sinon FAUX.
- Et ensuite, la fonction MATCH compare TRUE (qui est son valeur de la recherche ) avec chaque valeur du tableau retourné par EXACT, et renvoie la position de la première correspondance.
N'oubliez pas qu'il s'agit d'une formule de tableau qui nécessite d'appuyer sur les touches Ctrl + Shift + Enter pour être complétée correctement.
En supposant que votre valeur de consultation se trouve dans la cellule E1 et que le tableau de consultation est A2:A9, la formule est la suivante :
=MATCH(TRUE, EXACT(A2:A9,E1),0)
La capture d'écran suivante montre la formule Match sensible à la casse dans Excel :
Comparer 2 colonnes pour trouver les concordances et les différences (ISNA MATCH)
La vérification des concordances et des différences entre deux listes est l'une des tâches les plus courantes dans Excel, et elle peut être effectuée de différentes manières, notamment par la formule ISNA/MATCH :
IF(ISNA(MATCH( 1ère valeur de la liste 1 , Liste 2 , 0)), "Pas dans la liste 1", "")Pour toute valeur de la liste 2 qui n'est pas présente dans la liste 1, la formule renvoie " Pas dans la liste 1 ". Et voici comment :
- La fonction MATCH recherche une valeur de la liste 1 dans la liste 2. Si une valeur est trouvée, elle retourne sa position relative, #N/A erreur sinon.
- La fonction ISNA dans Excel ne fait qu'une seule chose - vérifier les erreurs #N/A (qui signifie "non disponible"). Si une valeur donnée est une erreur #N/A, la fonction renvoie VRAI, sinon FAUX. Dans notre cas, VRAI signifie qu'une valeur de la liste 1 n'est pas trouvée dans la liste 2 (c'est-à-dire qu'une erreur #N/A est renvoyée par MATCH).
- Comme il peut être très déroutant pour vos utilisateurs de voir VRAI pour des valeurs qui n'apparaissent pas dans la liste 1, vous enroulez la fonction IF autour de ISNA pour afficher " Pas dans la liste 1 "ou le texte de votre choix.
Par exemple, pour comparer les valeurs de la colonne B à celles de la colonne A, la formule prend la forme suivante (où B2 est la cellule la plus haute) :
=IF(ISNA(MATCH(B2,A:A,0)), "Pas dans la liste 1", "")
Comme vous vous en souvenez, la fonction MATCH d'Excel n'est pas sensible à la casse en elle-même. Pour qu'elle distingue la casse des caractères, intégrez la fonction EXACT dans le champ lookup_array et n'oubliez pas d'appuyer sur Ctrl + Shift + Enter pour terminer cette opération. formule matricielle :
=IF(ISNA(MATCH(TRUE, EXACT(A:A, B2),0)), "Pas dans la liste 1", "")
La capture d'écran suivante montre les deux formules en action :
Pour apprendre d'autres façons de comparer deux listes dans Excel, veuillez consulter le tutoriel suivant : Comment comparer 2 colonnes dans Excel.
Excel VLOOKUP et MATCH
Cet exemple suppose que vous avez déjà une connaissance de base de la fonction VLOOKUP d'Excel. Si c'est le cas, il y a de fortes chances que vous ayez rencontré ses nombreuses limitations (dont vous trouverez un aperçu détaillé dans Pourquoi la fonction VLOOKUP d'Excel ne fonctionne pas) et que vous cherchiez une alternative plus robuste.
L'un des inconvénients les plus ennuyeux de VLOOKUP est qu'il cesse de fonctionner après l'insertion ou la suppression d'une colonne dans une table de consultation. Cela se produit parce que VLOOKUP extrait une valeur correspondante sur la base du numéro de la colonne de retour que vous spécifiez (numéro d'index). Parce que le numéro d'index de VLOOKUP est le même que celui de la colonne de retour. numéro d'index est "codée en dur" dans la formule, Excel est incapable de l'ajuster lorsqu'une ou plusieurs nouvelles colonnes sont ajoutées ou supprimées du tableau.
La fonction MATCH d'Excel traite un position relative d'une valeur de consultation, ce qui en fait une solution parfaite pour le programme col_index_num En d'autres termes, au lieu de spécifier la colonne de retour comme un nombre statique, vous utilisez MATCH pour obtenir la position actuelle de cette colonne.
Pour rendre les choses plus faciles à comprendre, utilisons à nouveau le tableau des notes d'examen des étudiants (similaire à celui que nous avons utilisé au début de ce tutoriel), mais cette fois nous allons récupérer la note réelle et non sa position relative.
En supposant que la valeur de référence se trouve dans la cellule F1, que le tableau est $A$1:$C$2 (il est conseillé de le verrouiller en utilisant des références de cellules absolues si vous prévoyez de copier la formule dans d'autres cellules), la formule est la suivante :
=VLOOKUP(F1, $A$1:$C$8, 3, FALSE)
Le 3ème argument ( col_index_num ) est fixé à 3 parce que l Score en mathématiques Comme vous pouvez le voir dans la capture d'écran ci-dessous, cette formule Vlookup ordinaire fonctionne bien :
Mais seulement jusqu'à ce que vous insériez ou supprimiez une ou plusieurs colonnes :
Alors, pourquoi l'erreur #REF !? Parce que col_index_num défini à 3 indique à Excel d'obtenir une valeur de la troisième colonne, alors qu'il n'y a maintenant que 2 colonnes dans le tableau.
Pour éviter que de telles choses ne se produisent, vous pouvez rendre votre formule Vlookup plus dynamique en incluant la fonction Match suivante :
MATCH(E2,A1:C1,0)
Où :
- E2 est la valeur de référence, soit exactement égal au nom de la colonne de retour, c'est-à-dire la colonne dont vous voulez extraire une valeur ( Score en mathématiques dans cet exemple).
- A1:C1 est le tableau de consultation contenant les en-têtes de la table.
Et maintenant, incluez cette fonction Match dans le col_index_num de votre formule Vlookup, comme ceci :
=VLOOKUP(F1,$A$1:$C$8, MATCH(E2,$A$1:$C$1, 0), FALSE)
Et assurez-vous qu'il fonctionne impeccablement, quel que soit le nombre de colonnes que vous ajoutez ou supprimez :
Dans la capture d'écran ci-dessus, j'ai verrouillé toutes les références de cellule pour que la formule fonctionne correctement, même si mes utilisateurs la déplacent à un autre endroit de la feuille de calcul. Comme vous pouvez le voir dans la capture d'écran ci-dessous, la formule fonctionne parfaitement après la suppression d'une colonne ; de plus, Excel est suffisamment intelligent pour ajuster correctement les références absolues dans ce cas :
Excel HLOOKUP et MATCH
De la même manière, vous pouvez utiliser la fonction MATCH d'Excel pour améliorer vos formules HLOOKUP. Le principe général est essentiellement le même que dans le cas de Vlookup : vous utilisez la fonction Match pour obtenir la position relative de la colonne de retour, et vous fournissez ce nombre à la formule HLOOKUP. numéro_index_rang de votre formule Hlookup.
Si la valeur de recherche se trouve dans la cellule B5, le tableau est B1:H3, le nom de la ligne de retour (valeur de recherche pour MATCH) se trouve dans la cellule A6 et les en-têtes de ligne sont A1:A3, la formule complète est la suivante :
=HLOOKUP(B5, B1:H3, MATCH(A6, A1:A3, 0), FALSE)
Comme vous venez de le voir, la combinaison de Hlookup/Vlookup & ; Match est certainement une amélioration par rapport aux formules Hlookup et Vlookup classiques. Cependant, la fonction MATCH n'élimine pas toutes leurs limites. En particulier, une formule Vlookup Match ne peut toujours pas regarder à sa gauche, et Hlookup Match ne parvient pas à rechercher dans une ligne autre que celle du haut.
Pour surmonter les limitations ci-dessus (et quelques autres), envisagez d'utiliser une combinaison d'INDEX MATCH, qui offre un moyen vraiment puissant et polyvalent d'effectuer des recherches dans Excel, supérieur à Vlookup et Hlookup à bien des égards. Vous trouverez des conseils détaillés et des exemples de formules dans INDEX & ; MATCH in Excel - a better alternative to VLOOKUP.
C'est ainsi que vous utilisez les formules MATCH dans Excel. J'espère que les exemples abordés dans ce tutoriel vous seront utiles dans votre travail. 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 MATCH (fichier .xlsx)