Article mis à jour le 6 novembre 2022
La fonction RECHERCHEX est apparue dans Excel 365. Elle est également disponible sur les versions 2016+ si vous avez effectué des mises à jour.
Elle a pour but de remplacer à terme les anciennes fonctions RECHERCHEV et RECHERCHEH car elle corrige certaines limites de ces dernières.
Elle peut même remplacer l’utilisation d’INDEX et EQUIV.
Syntaxe
La fonction RECHERCHEX se présente de la manière suivante :
=RECHERCHEX(valeur_cherchée;tableau_recherche;tableau_renvoyé;[si_non_trouvé];[mode_correspondance];[mode_recherche])
avec :
- valeur_cherchée : il s’agit de notre critère de recherche
- tableau_recherche : colonne où se trouve notre valeur cherchée
- tableau_renvoyé : colonne où se trouve notre résultat
- [si_non_trouvé] : comme son nom l’indique, la fonction nous permet d’indiquer ce que l’on souhaite si la valeur cherchée n’est pas trouvée dans notre recherche
- [mode_correspondance] : correspondance avec la valeur cherchée. Mettez 0 pour un correspondance exacte.
- [mode_recherche]
Utilisation de RECHERCHEX
Passons à la pratique.
J’ai un catalogue de produits.
En fonction du produit que je sélectionne, je veux afficher ses informations.
Recherche à droite
Pour cet exemple, je veux chercher le montant d’un produit.
C’est une recherche simple comme le faisait RECHERCHEV.
- la valeur_cherchée correspond au nom de mon produit sélectionné (cellule F3).
- le tableau_recherche correspond à l’emplacement avec tous les noms de produits ($C$2:$C$17). Je mets des $ car dans mon tableau de recherche, la plage de données reste la même quelque soit la ligne.
- le tableau_renvoyé correspond aux résultats possibles à afficher, donc ma colonne avec tous les montants ($D$2:$D$17). Comme précédemment, je fixe la plage car elle ne changera pas sur toutes les lignes de mon tableau de recherche.
J’obtiens la formule :
=RECHERCHEX(F3;$C$2:$C$17;$D$2:$D$17)
Recherche à gauche
Nous ne pouvions rechercher que de gauche à droite avec RECHERCHEV, nous étions obliger d’utiliser une formule avec INDEX et EQUIV pour rechercher une information vers la gauche.
Or, la fonction RECHERCHEX permet de rechercher dans « tous les sens », donc vers la gauche.
Reprenons notre exemple, je veux chercher cette fois-ci la référence d’un produit.
- la valeur_cherchée correspond au nom de mon produit sélectionné (cellule F3).
- le tableau_recherche correspond à l’emplacement avec tous les noms de produits ($C$2:$C$17). Je mets des $ car dans mon tableau de recherche, la plage de données reste la même quelque soit la ligne.
- le tableau_renvoyé correspond aux résultats possibles à afficher, donc ma colonne avec toutes les références ($A$2:$A$17). Comme précédemment, je fixe la plage car elle ne changera pas sur toutes les lignes de mon tableau de recherche.
J’obtiens la formule :
=RECHERCHEX(F3;$C$2:$C$17;$A$2:$A$17)
Argument [si_non_trouvé]
Quand on utilisait les fonctions RECHERCHEV ou INDEX+EQUIV, il pouvait arriver qu’il y ait un message d’erreur #N/A car il ne trouve pas de correspondance.
La plupart du temps, cela s’explique par le fait que la valeur_cherchée n’est pas renseignée.
Pour régler ce problème, il fallait ajouter la fonction SIERREUR à la formule pour lui indiquer quoi afficher si aucune valeur cherchée n’est trouvée.
Avec RECHERCHEX, cette fonction est incluse avec l’argument facultatif [si_non_trouvé].
Il suffit d’écrire le texte souhaité entre guillemets.
=RECHERCHEX(F3;$C$2:$C$18;$A$2:$A$18;"produit introuvable";0)
Renvoyer plusieurs données
Nous avons vu jusqu’ici comment renvoyer une donnée en fonction d’une valeur cherchée.
Mais avec RECHERCHEX, on peut afficher plusieurs données (plusieurs colonnes de notre base)
Pour cela, on va modifier notre argument tableau_renvoyé pour sélectionner plusieurs colonnes de notre base.
Dans notre exemple, en fonction de la référence, on va chercher les informations du produit:
- la valeur cherchée est la référence du produit contenue dans la cellule F3
- le tableau_recherche correspond à ma colonne avec tous les références de produits ($A$2:$A$17). Je mets des $ car dans mon tableau pour ma recherche, la plage de données reste la même quelque soit la ligne.
- le tableau_renvoyé correspond aux autres colonnes de la base ($B$2:$D$17). Comme précédemment, je fixe la plage car elle ne changera pas sur toutes les lignes de mon tableau de recherche.
- j’indique « produit introuvable » si la référence n’est pas trouvée
- je recherche les nom exacts des produits, donc ma correspondance est 0.
=RECHERCHEX(F3;$A$2:$A$18;$B$2:$D$18;"produit introuvable";0)
Excel va remplir non seulement la cellule G3 mais aussi la colonne H et I car il a récupéré les données de 3 colonnes de ma base.
C’est ce qu’on appelle une formule propagée.
Ping : Excel : Faire une Recherchev multi-critères - May6
Ping : Excel : Les arguments facultatifs de RECHERCHEX - May6