Qu'est-ce que INDEX MATCH et Pourquoi l'Utiliser ?
INDEX MATCH est une combinaison de deux fonctions Excel : INDEX et MATCH. Ensemble, elles permettent d'effectuer des recherches de valeurs dans des tableaux, de manière plus flexible et performante que la fonction RECHERCHEV.
Pourquoi INDEX MATCH est-il supérieur à RECHERCHEV ?
RECHERCHEV a des limitations importantes :
- Recherche uniquement à droite : RECHERCHEV ne peut rechercher une valeur que dans la première colonne d'un tableau et renvoyer une valeur située à droite de cette colonne. INDEX MATCH n'a pas cette limitation.
- Sensibilité aux insertions/suppressions de colonnes : Si vous insérez ou supprimez une colonne dans votre tableau, la formule RECHERCHEV peut se casser, car elle dépend du numéro d'index de la colonne à renvoyer. INDEX MATCH est plus robuste.
- Complexité des recherches complexes : Pour des recherches basées sur plusieurs critères, RECHERCHEV devient rapidement complexe et difficile à maintenir. INDEX MATCH permet une plus grande clarté et flexibilité.
Comment fonctionne INDEX MATCH ?
INDEX MATCH fonctionne en deux étapes :
- MATCH : La fonction MATCH recherche la position d'une valeur dans une plage de cellules. Elle renvoie un nombre, qui représente la position de la valeur recherchée.
- INDEX : La fonction INDEX renvoie la valeur d'une cellule dans une plage, en fonction de sa position (numéro de ligne et éventuellement numéro de colonne). Elle prend en argument une plage de cellules, un numéro de ligne et éventuellement un numéro de colonne.
En combinant ces deux fonctions, on peut rechercher une valeur dans une colonne (avec MATCH) et ensuite renvoyer la valeur correspondante dans une autre colonne (avec INDEX).
Syntaxe des Fonctions INDEX et MATCH
La Fonction INDEX
La syntaxe de la fonction INDEX est la suivante :
INDEX(matrice, no_lig, [no_col])
- matrice : La plage de cellules dans laquelle on veut rechercher une valeur.
- no_lig : Le numéro de ligne de la cellule à renvoyer.
- [no_col] : Le numéro de colonne de la cellule à renvoyer (facultatif si la matrice ne contient qu'une seule colonne).
La Fonction MATCH
La syntaxe de la fonction MATCH est la suivante :
MATCH(valeur_recherchée, plage_recherche, [type])
- valeur_recherchée : La valeur que l'on veut rechercher.
- plage_recherche : La plage de cellules dans laquelle on veut rechercher la valeur.
- [type] : Le type de correspondance (facultatif). 0 pour une correspondance exacte, 1 pour une correspondance inférieure à et -1 pour une correspondance supérieure à. Si omis, la valeur par défaut est 1.
Exemples Pratiques d'Utilisation d'INDEX MATCH
Exemple 1 : Recherche Simple
Imaginons un tableau avec les colonnes suivantes :
- A : Nom du produit
- B : Prix
Nous voulons retrouver le prix d'un produit spécifique.
- Trouver la position du produit :
=MATCH("Produit X",A:A,0)Cette formule recherche la position du "Produit X" dans la colonne A. - Récupérer le prix :
=INDEX(B:B,MATCH("Produit X",A:A,0))Cette formule utilise le résultat de la fonction MATCH (la position du produit) pour récupérer le prix correspondant dans la colonne B. Elle retourne donc le prix du Produit X.
Exemple 2 : Recherche avec Plusieurs Critères
Imaginons un tableau avec les colonnes suivantes :
- A : Date
- B : Nom du produit
- C : Quantité vendue
Nous voulons retrouver la quantité vendue d'un produit spécifique à une date donnée.
Pour cela, nous allons utiliser des colonnes auxiliaires pour concaténer les critères de recherche.
- Créer une colonne auxiliaire (D) pour concaténer la date et le nom du produit :
=A2&B2(à étirer sur toutes les lignes) - Créer une autre colonne auxiliaire (E) qui contiendra la date et le nom du produit recherché : Par exemple, si on recherche les ventes du produit "Produit Y" le 01/01/2024, la cellule E1 contiendra "01/01/2024Produit Y".
- Utiliser INDEX MATCH :
=INDEX(C:C,MATCH(E1,D:D,0))Cette formule recherche la position de la date et du nom du produit concaténés (E1) dans la colonne D, puis renvoie la quantité vendue correspondante (colonne C).
Exemple 3 : Recherche à Gauche
Imaginons un tableau avec les colonnes suivantes :
- A : Prix
- B : Nom du produit
Nous voulons retrouver le nom du produit correspondant à un prix donné.
=INDEX(B:B,MATCH(10,A:A,0))
Cette formule recherche le nom du produit correspondant au prix de 10 (dans la colonne A) et renvoie le nom du produit (dans la colonne B).
Note Importante : Assurez-vous que le prix recherché (10 dans cet exemple) existe bien dans la colonne A, sinon la formule renverra une erreur #N/A.
Conseils et Astuces pour INDEX MATCH
- Nommer vos plages de cellules : Pour une meilleure lisibilité et maintenance de vos formules, nommez vos plages de cellules (par exemple, "Produits" pour la colonne A, "Prix" pour la colonne B, etc.). Vous pourrez ensuite utiliser ces noms dans vos formules INDEX MATCH, ce qui les rendra plus claires et plus faciles à comprendre.
- Utiliser la fonction IFERROR : Pour gérer les erreurs (par exemple, si la valeur recherchée n'est pas trouvée), utilisez la fonction IFERROR pour afficher un message personnalisé ou une valeur par défaut. Par exemple :
=IFERROR(INDEX(B:B,MATCH("Produit X",A:A,0)), "Produit non trouvé") - Optimiser les performances : Pour les grands tableaux, INDEX MATCH peut être plus lent que RECHERCHEV. Pour optimiser les performances, assurez-vous que vos plages de cellules sont bien définies et ne contiennent pas de cellules vides inutiles.
Erreurs Courantes et Comment les Éviter
- Erreur #N/A : Cette erreur signifie que la valeur recherchée n'a pas été trouvée dans la plage de recherche. Vérifiez que la valeur recherchée existe bien et que la plage de recherche est correcte.
- Erreur #REF! : Cette erreur signifie que la plage de cellules spécifiée dans la fonction INDEX est incorrecte. Vérifiez que les numéros de ligne et de colonne sont valides.
- Incohérence des types de données : Assurez-vous que le type de données de la valeur recherchée correspond au type de données des valeurs dans la plage de recherche (par exemple, si vous recherchez un nombre, assurez-vous que les valeurs dans la plage de recherche sont également des nombres).
INDEX MATCH vs RECHERCHEV : Lequel Choisir ?
Bien que RECHERCHEV soit plus facile à apprendre, INDEX MATCH offre une plus grande flexibilité et robustesse. Voici un tableau comparatif :
| Caractéristique | RECHERCHEV | INDEX MATCH |
|---|---|---|
| Flexibilité | Limitée | Élevée |
| Robustesse | Faible (sensible aux insertions/suppressions) | Élevée |
| Recherche à gauche | Impossible | Possible |
| Recherches complexes | Difficile | Facile |
| Performance (grands tableaux) | Potentiellement plus rapide | Peut être plus lent (optimisable) |
| Facilité d'apprentissage | Plus facile | Légèrement plus complexe |
En résumé :
- Choisissez RECHERCHEV si : Vous avez besoin d'une solution rapide et simple pour des recherches basiques à droite.
- Choisissez INDEX MATCH si : Vous avez besoin d'une solution flexible et robuste pour des recherches complexes, à gauche, ou qui ne se cassera pas si vous insérez/supprimez des colonnes.
Conclusion
INDEX MATCH est un outil puissant et polyvalent qui vous permet d'effectuer des recherches complexes dans Excel avec une grande flexibilité. Bien qu'il puisse sembler un peu plus complexe à apprendre que RECHERCHEV, il offre de nombreux avantages en termes de robustesse, de flexibilité et de possibilités. N'hésitez pas à l'adopter pour améliorer votre productivité et votre efficacité dans Excel. En maîtrisant INDEX MATCH, vous deviendrez un véritable expert Excel !