RECHERCHEX expliquée à travers 11 Exemples

Vraiment les concepteurs d’Excel ont rendu un très grand service aux utilisateurs de cette application Microsoft en faisant sortir cette nouvelle fonction RECHERCHEX, avec laquelle vos recherches deviendront plus flexibles !


La fonction RECHERCHEX



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


Tableau de recherche

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.

Et voici le résultat:


Utilisation simple de RECHERCHEX

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!")

Et voici le résultat de cette formule :
Remplacer Erreur NA par un message significatif

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!")

Lorsque je saisis le prénom et le nom du vendeur cherché dans K7, ma formule me renvoie son ID.


RECHERCHEX de droite à gauche

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.


Correspondance de caractère générique dans RECHERCHEX


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.

Entrez un Nom dans la cellule K7 et voyez le résultat obtenu.


Résultat de RechercheX avec caractère générique

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 :


RECHERCHEX du dernier au premier


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.

Voyez l’exemple suivant:


Recherchex indépendante des Insertion ou suppression de colonnes



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.
RECHERCHEX horizontale

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.


Formule RECHERCHEX propagée


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))

Et validez ensuite.


RECHERCHEX imbriquée dans TRANSPOSE


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".


Erreur NA dans RECHERCHEX


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.

Je copie la formule ensuite sur les autres cellules.


RECHERCHEX approximative


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.


Tableau de notes


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.

Et voici le résultat obtenu !


Utilisation de RECHERCHEX imbriquée


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.
PARTAGEZ
    Blogger Comment
    Facebook Comment

26 commentaires:

  1. La fonction RECHERCHEX N'est pas accessible sur ma version d excel 2019 comment faire

    RépondreSupprimer
    Réponses
    1. Justement. 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."
      Vous pourriez la tester sur Excel Online

      Supprimer
  2. 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épondreSupprimer
  3. Bonjour, j'aimerais savoir si la valeur recherché peut être multiple ou c'est juste unique ?
    Je 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

    RépondreSupprimer
    Réponses
    1. Bonsoir Michel
      Dans 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

      Supprimer
    2. Merci beaucoup

      J'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

      Supprimer
  4. 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!
    Merci pour vos réponse

    RépondreSupprimer
    Réponses
    1. Bonjour,
      Vérifiez la formule si elle fait référence à la bonne feuille (onglet) utilisée.

      Supprimer
  5. Bonjour.
    C'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!

    RépondreSupprimer
    Réponses
    1. Bonjour,
      en 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

      Supprimer
    2. 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.

      Supprimer
    3. Effectivement, la formule ne renvoie qu'un seul résultat dans ce cas.

      Supprimer
  6. Je voudrais savoir si c'est possible de ne pas tenir compte d'une lettre déjà séparée?
    Exemple 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

    RépondreSupprimer
    Réponses
    1. Bonjour,
      Si 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.

      Supprimer
  7. 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épondreSupprimer
    Réponses
    1. Bonjour,
      Vous procédez de la même façon, et automatiquement Excel vous renvoie un tableau dynamique comportant toutes les lignes trouvées .

      Supprimer
  8. Bonjour,

    A quoi servent les recherches binaires dans l'option mode de recherche ?

    RépondreSupprimer
    Réponses
    1. Bonjour,
      Les deux paramètres derniers (Recherche binaire (tri croissant) & Recherche binaire (tri décroissant)) sont utiles lorsqu'on veut effectuer une recherche de type binaire.

      Supprimer
  9. Bonjour,
    Lorsque 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 ?

    RépondreSupprimer
    Réponses
    1. Bonsoir,
      Effectivement, 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

      Supprimer

Votre commentaire m'intéresse beaucoup :)