Comprendre l'équation INDEX EQUIV sur Excel
L'"index equation excel", ou l'équation combinant les fonctions INDEX et EQUIV, est une alternative puissante à la fonction RECHERCHEV (VLOOKUP) dans Excel. Elle permet de réaliser des recherches plus flexibles et de contourner certaines limitations de RECHERCHEV, notamment la recherche uniquement à droite de la colonne de recherche et les problèmes liés à l'insertion ou la suppression de colonnes.
Pourquoi utiliser INDEX EQUIV plutôt que RECHERCHEV ?
RECHERCHEV est une fonction largement utilisée pour la recherche de données dans Excel. Cependant, elle présente quelques inconvénients :
- Recherche limitée à la droite : RECHERCHEV ne peut rechercher des valeurs que dans la première colonne d'une plage et renvoyer une valeur située à droite de cette colonne.
- Fragilité face aux modifications : Si vous insérez ou supprimez des colonnes dans votre tableau, la formule RECHERCHEV risque de se casser si l'indice de colonne devient incorrect.
L'équation INDEX EQUIV résout ces problèmes en séparant la recherche de la valeur à renvoyer, offrant ainsi une plus grande flexibilité et robustesse.
Décomposer les fonctions INDEX et EQUIV
Pour bien comprendre l'"index equation excel", il est essentiel de connaître le rôle de chaque fonction individuellement.
La fonction INDEX : Trouver une valeur à partir d'une position
La fonction INDEX renvoie la valeur d'une cellule dans une plage donnée, en spécifiant son numéro de ligne et de colonne. Sa syntaxe est la suivante :
=INDEX(plage; numéro_ligne; [numéro_colonne])
- plage : La plage de cellules dans laquelle vous souhaitez rechercher la valeur.
- numéro_ligne : Le numéro de la ligne dans la plage à partir de laquelle vous souhaitez renvoyer une valeur.
- [numéro_colonne] : (Facultatif) Le numéro de la colonne dans la plage à partir de laquelle vous souhaitez renvoyer une valeur. Si omis, INDEX renvoie toute la ligne.
Exemple :
Si vous avez une plage de cellules A1:C10 contenant des données, la formule =INDEX(A1:C10; 5; 2) renverra la valeur de la cellule située à la 5ème ligne et 2ème colonne de cette plage, soit la cellule B5.
La fonction EQUIV : Trouver la position d'une valeur
La fonction EQUIV recherche une valeur spécifique dans une plage de cellules et renvoie sa position relative. Sa syntaxe est la suivante :
=EQUIV(valeur_recherchée; plage_recherche; [type_correspondance])
- valeur_recherchée : La valeur que vous souhaitez rechercher.
- plage_recherche : La plage de cellules dans laquelle vous souhaitez rechercher la valeur.
- [type_correspondance] : (Facultatif) Spécifie le type de correspondance souhaité. 0 pour une correspondance exacte (recommandé), 1 pour la plus grande valeur inférieure ou égale à la valeur recherchée, et -1 pour la plus petite valeur supérieure ou égale à la valeur recherchée. Si omis, la fonction suppose 1 et la plage de recherche doit être triée par ordre croissant.
Exemple :
Si vous avez une plage de cellules A1:A10 contenant des noms, et que la cellule A7 contient le nom "Pierre", la formule =EQUIV("Pierre"; A1:A10; 0) renverra la valeur 7, car "Pierre" se trouve à la 7ème position dans la plage A1:A10.
Combiner INDEX et EQUIV pour une recherche dynamique
L'astuce de l'"index equation excel" réside dans l'utilisation de la fonction EQUIV pour déterminer le numéro de ligne ou de colonne à utiliser dans la fonction INDEX. Cela permet de créer une formule de recherche dynamique, où la valeur renvoyée s'adapte en fonction de la valeur recherchée.
Syntaxe de l'équation INDEX EQUIV
La syntaxe générale de l'équation INDEX EQUIV est la suivante :
=INDEX(plage_résultat; EQUIV(valeur_recherchée; plage_recherche; 0))
- plage_résultat : La plage de cellules contenant les valeurs que vous souhaitez renvoyer.
- valeur_recherchée : La valeur que vous souhaitez rechercher.
- plage_recherche : La plage de cellules dans laquelle vous souhaitez rechercher la valeur.
Exemple pratique : Recherche d'un prix à partir d'un nom de produit
Imaginons que vous ayez un tableau contenant une liste de produits et leurs prix correspondants dans les colonnes A et B, respectivement. Vous souhaitez créer une formule qui, en entrant le nom d'un produit dans une cellule (par exemple, D1), renvoie automatiquement son prix correspondant.
- Plage des noms de produits :
A1:A10 - Plage des prix :
B1:B10 - Cellule contenant le nom du produit à rechercher :
D1
La formule INDEX EQUIV à utiliser serait la suivante :
=INDEX(B1:B10; EQUIV(D1; A1:A10; 0))
Explication :
EQUIV(D1; A1:A10; 0)recherche la position du nom du produit contenu dans la celluleD1dans la plageA1:A10. Le0assure une correspondance exacte.INDEX(B1:B10; ...)utilise le résultat de la fonction EQUIV comme numéro de ligne pour renvoyer la valeur correspondante dans la plageB1:B10(les prix).
Si la cellule D1 contient le nom "Ordinateur portable", et que "Ordinateur portable" se trouve à la 3ème ligne de la plage A1:A10, la fonction EQUIV renverra 3. La fonction INDEX renverra alors la valeur de la cellule B3, qui représente le prix de l'ordinateur portable.
Recherche sur plusieurs colonnes avec INDEX EQUIV
L'équation INDEX EQUIV peut également être étendue pour effectuer des recherches sur plusieurs colonnes. Pour cela, vous devez spécifier le numéro de colonne dans la fonction INDEX.
La syntaxe devient alors :
=INDEX(plage_résultat; EQUIV(valeur_recherchée_ligne; plage_recherche_ligne; 0); EQUIV(valeur_recherchée_colonne; plage_recherche_colonne; 0))
Dans ce cas, vous devez fournir deux fonctions EQUIV : une pour trouver le numéro de ligne et une autre pour trouver le numéro de colonne.
Exemple :
Imaginez un tableau contenant des données de ventes par produit et par mois. Les produits sont listés en lignes (A2:A10) et les mois en colonnes (B1:M1). Vous souhaitez trouver le chiffre de ventes pour un produit donné et un mois donné.
- Plage des données de ventes :
B2:M10 - Cellule contenant le nom du produit à rechercher :
O1 - Cellule contenant le nom du mois à rechercher :
O2 - Plage des noms de produits :
A2:A10 - Plage des noms de mois :
B1:M1
La formule INDEX EQUIV à utiliser serait la suivante :
=INDEX(B2:M10; EQUIV(O1; A2:A10; 0); EQUIV(O2; B1:M1; 0))
Bonnes pratiques et astuces pour l'utilisation de INDEX EQUIV
- Utiliser des noms de plages : Pour rendre vos formules plus lisibles et faciles à maintenir, utilisez des noms de plages au lieu de références de cellules directes. Par exemple, vous pouvez nommer la plage
A1:A10"Produits" et la plageB1:B10"Prix". Votre formule deviendrait alors=INDEX(Prix; EQUIV(D1; Produits; 0)). Cela facilite grandement la compréhension et la modification de la formule. - Gérer les erreurs : Si la valeur recherchée n'est pas trouvée, la fonction EQUIV renverra l'erreur
#N/A. Vous pouvez utiliser la fonctionSIERREURpour gérer cette erreur et afficher un message plus convivial, par exemple "Produit non trouvé". La formule deviendrait alors=SIERREUR(INDEX(Prix; EQUIV(D1; Produits; 0)); "Produit non trouvé"). - Utiliser la correspondance exacte (0) : Dans la plupart des cas, vous souhaiterez une correspondance exacte entre la valeur recherchée et les valeurs de la plage de recherche. Assurez-vous donc d'utiliser
0comme troisième argument de la fonction EQUIV. - Vérifier les 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 de la plage de recherche. Par exemple, si vous recherchez un nombre, la plage de recherche doit également contenir des nombres, et non du texte.
- Comprendre les limitations : Bien que l'équation INDEX EQUIV soit très puissante, elle a également ses limites. Elle ne peut pas gérer les doublons dans la plage de recherche. Si la valeur recherchée apparaît plusieurs fois, EQUIV renverra la position de la première occurrence seulement.
Erreurs courantes à éviter avec INDEX EQUIV
- Inversion des plages : Une erreur courante consiste à inverser les plages dans les fonctions INDEX et EQUIV. Assurez-vous que la plage de recherche dans EQUIV correspond à la colonne ou à la ligne dans laquelle vous recherchez la valeur, et que la plage dans INDEX correspond à la colonne ou à la ligne contenant les résultats souhaités.
- Oublier le type de correspondance : Omettre le troisième argument de la fonction EQUIV peut entraîner des résultats inattendus, surtout si la plage de recherche n'est pas triée. Il est fortement recommandé de spécifier
0pour une correspondance exacte. - Utiliser des références de cellules incorrectes : Vérifiez attentivement les références de cellules dans vos formules. Une erreur de référence peut entraîner des résultats incorrects ou des erreurs.
- Ne pas gérer les erreurs : Ne pas utiliser la fonction
SIERREURpour gérer les erreurs#N/Apeut rendre votre feuille de calcul moins conviviale. Pensez à afficher un message d'erreur clair et informatif.
Conclusion
L'"index equation excel" est un outil puissant et flexible pour la recherche de données dans Excel. En combinant les fonctions INDEX et EQUIV, vous pouvez surmonter les limitations de RECHERCHEV et créer des formules de recherche dynamiques et robustes. En suivant les bonnes pratiques et en évitant les erreurs courantes, vous pouvez maîtriser cette technique et optimiser vos feuilles de calcul pour une meilleure efficacité.