Comprendre la formule Excel MATCH
La formule MATCH (EQUIV en français) est une fonction de recherche dans Excel qui renvoie la position relative d'un élément dans une plage de cellules. Contrairement à RECHERCHEV (VLOOKUP) ou RECHERCHEH (HLOOKUP), MATCH ne renvoie pas le contenu de la cellule, mais son indice numérique dans la plage. C'est un outil fondamental pour créer des formules dynamiques et automatiser des tâches répétitives.
Syntaxe de la formule MATCH
La syntaxe de la formule MATCH est la suivante :
=MATCH(valeur_recherchée, plage_recherche, [type_correspondance])
valeur_recherchée: La valeur que vous souhaitez trouver dans la plage de recherche. Cela peut être un nombre, du texte, une date, ou une référence à une cellule contenant la valeur.plage_recherche: La plage de cellules (une seule ligne ou une seule colonne) où vous souhaitez rechercher lavaleur_recherchée.[type_correspondance]: (Optionnel) Spécifie le type de correspondance que vous souhaitez utiliser. Il peut prendre les valeurs suivantes :0: (Par défaut) Trouve la première valeur qui est exactement égale à lavaleur_recherchée. Laplage_recherchepeut être dans n'importe quel ordre.1: Trouve la plus grande valeur qui est inférieure ou égale à lavaleur_recherchée. Laplage_recherchedoit être triée en ordre croissant.-1: Trouve la plus petite valeur qui est supérieure ou égale à lavaleur_recherchée. Laplage_recherchedoit être triée en ordre décroissant.
Exemples simples d'utilisation de MATCH
Exemple 1 : Trouver la position d'un nom dans une liste
Imaginez une liste de noms dans la plage A1:A5:
| A | |
|---|---|
| 1 | Jean |
| 2 | Marie |
| 3 | Pierre |
| 4 | Sophie |
| 5 | Antoine |
Pour trouver la position de "Pierre" dans cette liste, vous pouvez utiliser la formule suivante :
=MATCH("Pierre", A1:A5, 0)
Cette formule renverra 3, car "Pierre" est le troisième élément de la plage A1:A5.
Exemple 2 : Trouver la position d'un nombre dans une plage
Supposons que vous ayez une plage de nombres dans B1:B5:
| B | |
|---|---|
| 1 | 10 |
| 2 | 20 |
| 3 | 30 |
| 4 | 40 |
| 5 | 50 |
Pour trouver la position du nombre 30, utilisez:
=MATCH(30, B1:B5, 0)
Cette formule renverra 3.
Utilisation avancée de la formule MATCH
La puissance de MATCH réside dans sa capacité à être combinée avec d'autres fonctions Excel pour créer des solutions plus complexes. Voici quelques exemples :
Combiner MATCH avec INDEX
La combinaison de MATCH et INDEX est une alternative puissante à RECHERCHEV et RECHERCHEH. Elle permet de rechercher des valeurs à la fois horizontalement et verticalement, sans être limitée par la position de la colonne de recherche.
INDEX(plage_de_résultat, MATCH(valeur_recherchée, plage_de_recherche, [type_correspondance]))
plage_de_résultat: La plage de cellules contenant la valeur que vous souhaitez renvoyer.
Exemple : Rechercher le prix d'un produit en utilisant INDEX et MATCH
Supposons que vous ayez un tableau avec les produits en colonne A et leurs prix en colonne B:
| A | B | |
|---|---|---|
| 1 | Produit | Prix |
| 2 | A | 10 |
| 3 | B | 20 |
| 4 | C | 30 |
Pour trouver le prix du produit "B", vous pouvez utiliser la formule suivante :
=INDEX(B2:B4, MATCH("B", A2:A4, 0))
Cette formule renverra 20, le prix du produit "B".
Explication étape par étape :
MATCH("B", A2:A4, 0)renvoie2, la position de "B" dans la plageA2:A4.INDEX(B2:B4, 2)renvoie la valeur de la deuxième cellule dans la plageB2:B4, qui est20.
Avantages de l'utilisation de INDEX et MATCH au lieu de RECHERCHEV:
- Plus flexible : La colonne de recherche n'a pas besoin d'être la première colonne de la plage.
- Moins sensible aux insertions et suppressions de colonnes : Si vous insérez ou supprimez des colonnes, la formule
INDEXetMATCHcontinuera à fonctionner correctement, tant que les plages de recherche et de résultat restent correctes. AvecRECHERCHEV, vous devriez modifier l'index de la colonne.
MATCH avec des caractères génériques
Lorsque vous utilisez le type de correspondance 0 (correspondance exacte), vous pouvez utiliser des caractères génériques dans la valeur_recherchée pour trouver des correspondances partielles.
*: Représente n'importe quel nombre de caractères.?: Représente un seul caractère.
Exemple : Trouver un nom qui commence par "J"
En utilisant la liste de noms de l'exemple précédent, pour trouver le premier nom qui commence par "J", vous pouvez utiliser la formule suivante :
=MATCH("J*", A1:A5, 0)
Cette formule renverra 1, car "Jean" est le premier nom de la liste qui commence par "J".
MATCH pour des recherches plus ou moins proches
En utilisant 1 ou -1 comme type de correspondance, on peut trouver des valeurs proches de la valeur recherchée, ce qui est utile pour des intervalles de valeurs.
Important: La liste doit être triée en ordre croissant (type 1) ou décroissant (type -1).
Exemple: trouver la tranche d'imposition correspondant à un revenu
Supposons que vous ayez un tableau avec des tranches de revenus et les taux d'imposition correspondants :
| A | B | |
|---|---|---|
| 1 | Revenu Min | Taux |
| 2 | 0 | 0% |
| 3 | 10000 | 10% |
| 4 | 30000 | 20% |
| 5 | 50000 | 30% |
Pour trouver le taux d'imposition correspondant à un revenu de 40000, vous pouvez utiliser la formule suivante :
=INDEX(B2:B5, MATCH(40000, A2:A5, 1))
Cette formule renverra 20%, car 40000 se situe entre 30000 et 50000, et la fonction MATCH trouve la plus grande valeur inférieure ou égale à 40000.
Bonnes pratiques et erreurs à éviter
- S'assurer que la
plage_rechercheest une seule ligne ou colonne.MATCHne fonctionne pas avec des plages multidimensionnelles. - Vérifier le type de correspondance. Utilisez
0pour une correspondance exacte, et1ou-1pour des correspondances approximatives, en veillant à ce que la plage soit correctement triée. - Gérer les erreurs
#N/A. SiMATCHne trouve pas lavaleur_recherchée, il renvoie l'erreur#N/A. Utilisez la fonctionSIERREURpour gérer cette erreur et afficher un message plus convivial.=SIERREUR(MATCH("valeur", A1:A10, 0), "Valeur non trouvée") - Utiliser des références de cellules plutôt que des valeurs codées en dur. Cela rend vos formules plus flexibles et faciles à mettre à jour.
- Bien comprendre la différence entre MATCH et RECHERCHEV/RECHERCHEH. MATCH renvoie la position, tandis que RECHERCHEV/RECHERCHEH renvoient le contenu d'une cellule.
- Être conscient de la performance. Sur de très grandes feuilles de calcul, l'utilisation intensive de formules
MATCHpeut affecter les performances. Envisagez d'utiliser des techniques d'optimisation, comme la création de colonnes indexées.
Exemples concrets d'utilisation de MATCH dans des situations courantes
Recherche de données dans un tableau de bord
Dans un tableau de bord Excel, vous pouvez utiliser MATCH pour sélectionner dynamiquement des données à afficher en fonction d'une sélection de l'utilisateur. Par exemple, vous pouvez avoir une liste déroulante de noms de produits et utiliser MATCH pour trouver la ligne correspondante dans un tableau de données, puis afficher les informations associées.
Validation de données
Vous pouvez utiliser MATCH dans une règle de validation de données pour vous assurer qu'une valeur saisie par l'utilisateur existe dans une liste prédéfinie. Par exemple, vous pouvez créer une liste de codes produits valides et utiliser une formule MATCH dans la validation de données pour empêcher l'utilisateur de saisir un code invalide.
Création de menus dynamiques
En combinant MATCH avec les fonctions DECALER (OFFSET) et NBVAL (COUNTA), vous pouvez créer des menus déroulants dynamiques qui s'adaptent automatiquement à la taille d'une liste. Cela est utile lorsque la liste de choix peut changer fréquemment.
Conclusion
La formule Excel MATCH est un outil essentiel pour tout utilisateur souhaitant automatiser des tâches de recherche et d'analyse de données. En comprenant sa syntaxe, ses options et en l'associant à d'autres fonctions, vous pouvez créer des solutions puissantes et flexibles pour répondre à vos besoins spécifiques. N'hésitez pas à expérimenter avec les exemples fournis dans cet article et à explorer les nombreuses possibilités offertes par MATCH. Vous découvrirez rapidement que cette formule est un atout précieux dans votre arsenal Excel.