Je
vais entrer directement dans la présentation des 11 exemples d’utilisation de
RECHERCHEX et comme ça vous allez découvrir ses nouvelles possibilités offertes
différemment à ce que fournissent les autres fonctions de recherche comme
spécialement RECHERCHEV et qui ont été limitées.
Vous pouvez et avant de passer à la présentation de ces 11 exemples, jetez un coup d'oeil rapidement (1 minute) sur la simple façon d'utiliser RECHERCHEX via cette courte vidéo :
Syntaxe de RECHERCHEX
RECHERCHEX est une fonction qui vous permet d’effectuer facilement des recherches sur
vos données dans un tableau Excel. Voici
sa syntaxe :
RECHERCHEX(valeur_cherchée ;tableau_recherche ;tableau_renvoyé ;[si_non_trouvé] ;[mode_correspondance] ;[mode_recherche])
Les
arguments qui sont entre crochets sont facultatifs, en revanche les trois
premiers sont obligatoires : valeur_cherchée ,tableau_recherche
et tableau_renvoyé .
Mettons
les choses en pratique.
A
partir de ce tableau, je vais vous présenter les différentes utilisations de la
fonction RECHERCHEX
1. Recherchez
le prénom et le nom d’un vendeur à partir de son ID : sens de recherche de
gauche à droite verticalement
Je
veux que lorsque je saisis un ID dans la cellule K1, la fonction RECHERCHEX me
renvoie le Prénom et le Nom du vendeur qui seront affichés dans la cellule K3.
Dans la cellule K3 j’entre donc la formule suivante : =RECHERCHEX(K1;A2:A14;B2:B14) et je valide.
2. Afficher un message plus compréhensible au lieu de l’erreur #N/A
Par
exemple, si j’écris dans K1 un ID qui n’existe pas dans mon tableau ou erroné,
Excel affichera une erreur #N/A comme résultat.
Au lieu donc de recourir à la fonction SIERREUR, comme on est habitué à le faire, pour mettre à la place de ce message d’erreur une petite expression plus significative comme « Aucune donnée n’est trouvée », je peux le faire maintenant à l’aide de la fonction RECHERCHEX uniquement et ceci en utilisant son premier argument facultatif : ;[si_non_trouvé]
Voilà
ma formule modifiée :
=RECHERCHEX(K1;A2:A14;B2:B14;"Donnée
introuvable!")
3. Recherche inversée : sens de recherche de droite à gauche verticalement
Je
vais maintenant rechercher l’ID d’un vendeur selon son prénom et nom :
Dans la cellule K9 j’écris la formule suivante :
=RECHERCHEX(K7;B2:B14;A2:A14;"Donnée
introuvable!")
4. Trouver l’ID en faisant une recherche par Nom seulement : Utilisation de caractère générique
Au
lieu de taper le prénom et le nom du vendeur pour trouver son ID, RECHERCHEX
vous donne la possibilité d’effectuer une recherche selon le nom uniquement,
voici comment faire :
Double-cliquez sur la cellule K9 puis modifiez le premier argument en y ajoutant une astérisque entre deux guillemet suivie d’une éperluette "*"& avant la référence de la cellule K7, puis tapez point-virgule après le dernier argument (qui est [si_non_trouvé] dans mon cas) pour introduire le deuxième argument facultatif.
Excel
vous affiche une liste des options correspondant à l’argument Mode de
correspondance, choisissez donc la dernière option " 2-Correspondance de
caractère générique" et validez enfin.
5. Recherche du bas en haut
Par
défaut, RECHERCHEX effectue une recherche du haut en bas, c’est-à-dire du
premier élément au dernier dans une colonne.
Supposons
que dans le tableau qu'illustre l'image suivante, vous saisissez les données par date d’effet de
vente de la plus ancienne à la plus récente, par exemple les articles les premiers
vendus sont classés en tête et ainsi de suite, et que vous voulez connaitre la
dernière quantité de smartphones Samsung qui a été vendue.
Dans
ce cas, vous allez définir pour le troisième argument facultatif : mode_recherche
la valeur -1 comme ceci : =RECHERCHEX(G1;B2:B13;C2:C13;;;-1) puis validez :
Vous
avez remarqué que le mode recherche dispose de quatre options, et que l’option choisie était "Recherche du dernier au premier" désignée par le chiffre
-1
6. Insérer ou supprimer des colonnes n’a aucun effet sur votre formule
Lorsque
vous insérez des nouvelles colonnes, vous ne serez pas obligé de modifier votre
formule RECHERCHEX pour qu’elle prenne en compte ce nouveau changement, la même
chose se dit lorsque vous les supprimez.
7. Recherche horizontale
Dans
l’exemple suivant (voir l'image animée) où les données sont classées horizontalement, je vais
utiliser la fonction RECHERCHEX pour trouver le chiffre d’affaire d’un vendeur sélectionné.
Dans
B6 j’ai une liste déroulante contenant les prénoms et noms des vendeurs.
Dans la cellule B8, j’insère la fonction RECHERCHEX puis je définis mes arguments :
- Je sélectionne la cellule B6 qui contient la valeur recherchée pour le premier argument, puis je sélectionne la ligne Prénom et nom pour le tableau de recherche, ensuite la ligne renvoyant le résultat désiré C.A pour l’argument tableau renvoyé.
- Je valide, et voilà le résultat.
8. Renvoyer plusieurs résultats rapidement
Dans
cet exemple, je veux que lorsque je tape l’ID du vendeur, la fonction
RECHERCHEX me revoie ces données qui lui correspondent : Ville, Nombre de
commandes et chiffre d’affaire.
Je sélectionne seulement la cellule J4 puis je saisis la formule suivante :
=RECHERCHEX(K1;A2:A14;C2:E14)
- La cellule K1 affiche l’ID du vendeur
- A2 :A14 : est la plage de données des ID des vendeurs
- C2:E14 : est la plage de données contenant les trois colonnes : Ville, Nombre de commandes et chiffre d’affaire
En
appuyant sur Entrée, la formule est propagée automatiquement vers les cellules
voisines et affiche les résultats souhaités.
Note :
RECHERCHEX est appelée dans ce cas une formule de tableau propagée.
9. Renvoyer ces mêmes résultats verticalement
Si
vous désirez voir ces résultats affichés verticalement au lieu de les afficher
sur une seule ligne, imbriquez la fonction
RECHERCHEX dans la fonction TRANSPOSE de la façon suivante :
Dans
la cellule K9, saisissez la formule suivante :
=TRANSPOSE(RECHERCHEX(K1;A2:A14;C2:E14))
10. Recherche approximative
Je
veux dans cet exemple déterminer pour chaque chiffre d’affaires une prime qui
lui correspond en me basant sur le tableau des pourcentages de côté.
Je
sélectionne la cellule F2 puis j’entre la formule suivante :
=RECHERCHEX(E2;$J$2:$J$5;$K$2:$K$5)
Lorsque
je valide, Excel renvoie un message d’erreur puisqu’il ne trouve aucune valeur
correspondant au montant cherché dans la plage"J2:J5".
Dans
ce cas, je vais insérer le cinquième argument Mode de correspondance pour avoir la formule suivante:
=RECHERCHEX(E3;$J$2:$J$5;$K$2:$K$5;;1)
Le chiffre "1"
désigne l’option "Correspondance exacte ou élément supérieur suivant", càd
qu’Excel va chercher dans la plage "Pourcentage" la valeur souhaitée et s’il ne
la trouve pas il renverra la valeur plus grande la plus proche.
Remarque :
n'oubliez pas de figer les plages des données Chiffre d'affaire et
Pourcentage comme je l'ai fait !
11. Pas besoin d’utiliser INDEX et EQUIV conjointement !
J’ai utilisé un exemple dans mon cours Associez
INDEX et EQUIV pour effectuer mieux vos recherches dans lequel j’ai
expliqué comment utiliser conjointement INDEX et EQUIV avec plusieurs critères.
Je
suis parti du tableau suivant pour que l’utilisation de INDEX+EQUIV me renvoie
une note obtenue par un étudiant spécifié dans une matière choisie.
Je
vais reprendre le même exemple et me servir uniquement de la fonction RECHERCHEX pour
effectuer le même travail.
Dans
ce cas je vais imbriquer une deuxième fonction RECHERCHEX dans la première
comme s’est fait dans la formule suivante :
=RECHERCHEX(I1;B1:E1;RECHERCHEX(I3;A2:A6;B2:E6))
La
formule imbriquée RECHERCHEX(I3;A2:A6;B2:E6) effectue une recherche verticale
dans la plage B2:E6 contenant toutes les notes et renvoie un tableau d'une seule une ligne de celles qui correspondent
à la matière sélectionnée dans la cellule I3.
Ensuite
la première RECHERCHEX effectue la recherche horizontalement dans la ligne des
notes trouvées et renvoie celle qui se trouve à l’intersection de cette ligne
et de la colonne contenant le nom de l’étudiant sélectionné dans la cellule I1.
C’était
donc mon dernier exemple, je vous laisse enfin un lien d'un article dans lequel je vous montrerai comment je me servi de la fonction RECHERCHEX pour effectuer un calcul des totaux d'une façon intelligente. Cliquez alors ici :
Note :
La fonction RECHERCHEX
fait partie d’un groupe de fonctions apparues récemment avec la dernière mise à
jour d’Excel 365, ce qui signifie que seuls les abonnées d’Office 365 qui
peuvent utiliser ces fonctions.
Très efficace merci
RépondreSupprimerJe vous en prie.
Supprimerc'est super merci infiniment
SupprimerAvec plaisir.
SupprimerLa fonction RECHERCHEX N'est pas accessible sur ma version d excel 2019 comment faire
RépondreSupprimerJustement. C'est ce que j'ai signalé à la fin de mon article "la fonction RECHERCHEX fait partie d’un groupe de fonctions apparues récemment avec la dernière mise à jour d’Excel 365, ce qui signifie que seuls les abonnées d’Office 365 qui peuvent utiliser ces fonctions."
SupprimerVous pourriez la tester sur Excel Online
Merci pour ces détails. vraiment cette fonction est magnifique. Reste seulement le problème de renvoyer la 1ere valeur. Donc tu es obligé de combiner plusieurs fonctions ou utiliser vba.
RépondreSupprimerBonjour, j'aimerais savoir si la valeur recherché peut être multiple ou c'est juste unique ?
RépondreSupprimerJe vous donne un exemple. j'ai un fichier excel qui fait des calculs par catégorie et un fichier qui fourni les achats. Je n'ai pas besoin de faire la liste de tout les type d'achat donc j'ai créé un regroupement de type d'achat.
Table Catégorie
A B
Fruit Pomme
Fruit Orange
Légume Carotte
Table Achats
A B C
Pomme 5$ PRE
Pomme 10$ POS
Orange 2$ PRE
Carotte 6$ PRE
Donc, mon objectif est de calculer par catégorie donc j'ai fait la formule suivante :
=somme.si.ens(Achat.B:B; Achat.A:A; recherchev("Fruit"; Catégorie.A:B;2;Faux); Achats.C:C; PRE)
Je m'attends a avoir 7$ en retour mais la réponse est 5$. Mon observation est que recherchev retour seulement la première condition trouvé dans la table Catégorie soit Fruit - Pomme et ignore Fruit - Orange
Est-ce qu'il y a un autre moyen de faire cet addition ?
Merci beaucoup
Michel
Bonsoir Michel
SupprimerDans la feuille Achat ajoutez une colonne pour afficher les catégorie correspondant à chaque produit: tapez dans la première cellule de la colonne D cette formule INDEX(Feuil1!$A$1:$A$3;EQUIV(Achat!A1;Feuil1!$B$1:$B$3;0);1) puis copiez-la vers le bas.
Modifiez la formule de la somme en intégrant la nouvelle colonne D comme ceci:
SOMME.SI.ENS(B1:B4;D1:D4;"Fruit";C1:C4;"PRE")
et vous obtiendrez le bon résultat
Merci beaucoup
SupprimerJ'ai fait un peux différent mais c'est le même principe. J'ai ajouté une colonne D avec la formule =RECHERCHEX(Achat!A1;Catégorie!B:B;Catégorie!A:A) et copié pour chacune des entrées. Et j'ai modifié ma formule de somme pour rechercher la colonne D.
MERCI
Bonsoir, j'ai une question concernant l'utilisation de cette fonction, cela fonctionne parfaitement lorsque le résultat ce trouve dans le même onglet mais j'ai pas du tout si le résultat doit être affiché dans un autre onglet. J'ai le Msg #EPARS!
RépondreSupprimerMerci pour vos réponse
Bonjour,
SupprimerVérifiez la formule si elle fait référence à la bonne feuille (onglet) utilisée.
Bonjour.
RépondreSupprimerC'est super votre tuto! Pour l'exemple 11 avec les notes. Comment je fais pour retrouver les étudiants en connaissant la matière et la note? Par exemple je veux savoir qui a obtenu la note 15 pour la matière SGBD?
Merci beaucoup!
Bonjour,
Supprimeren se basant sur le même tableau de notes, saisissez dans J5 par exemple la note 15 puis dans une cellule de votre choix insérez cette formule
RECHERCHEX($J$5;RECHERCHEX($I$3;A2:A6;B2:E6);B1:E1)
Modifiez ensuite la note et le nom de la matière pour afficher les autres noms d'étudiants
Merci pour votre rapide réponse. La formule fonctionne à moitié puisqu'elle me donne seulement le premier étudiant (Etudiant 2). Elle ne montre pas l'étudiant 4 qui a obtenu la même note de 15.
SupprimerEffectivement, la formule ne renvoie qu'un seul résultat dans ce cas.
SupprimerJe voudrais savoir si c'est possible de ne pas tenir compte d'une lettre déjà séparée?
RépondreSupprimerExemple je recherche la valeur ANS A mais dans la plage de recherche, il n'y a que ANS du coup il ne trouve pas! Je voudrais qu'il ne tienne pas compte du A mais uniquement de ANS
Bonjour,
SupprimerSi ta valeur recherchée est dans C1 et en admettant qu'elle est "ANS A", utilise la fonction STXT pour en extraire ANS comme ceci : STXT(C1;1;3) puis utilise cette dernière formule comme valeur recherchée dans la fonction RECHERCEHEX.
Merci beaucoup pour ces explications très claires. Comment faire quand la valeur recherchée renvoie plusieurs lignes ? merci d'avance bonne journée
RépondreSupprimerBonjour,
SupprimerVous procédez de la même façon, et automatiquement Excel vous renvoie un tableau dynamique comportant toutes les lignes trouvées .
Bonjour,
RépondreSupprimerA quoi servent les recherches binaires dans l'option mode de recherche ?
Bonjour,
SupprimerLes deux paramètres derniers (Recherche binaire (tri croissant) & Recherche binaire (tri décroissant)) sont utiles lorsqu'on veut effectuer une recherche de type binaire.
Super ! Merci.
RépondreSupprimerJe vous en prie.
SupprimerBonjour,
RépondreSupprimerLorsque j'utilise la fonction recherchex entre 2 fichiers, le fichiers source (la base de données) doit toujours être ouvert sinon j'ai comme résultat #REF. Est-ce normal ? Existe t il une astuce ?
Bonsoir,
SupprimerEffectivement, le fichier source doit rester ouvert, c'est pourquoi Excel vous affiche cette erreur de référence de cellules utilisées dans votre formule.
Vous devez donc laisser le fichier ouvert ou copier les données du fichier source dans le deuxième fichier