La fonction RECHERCHEX d’Excel

Dernière mise à jour le 17/08/2024
Temps de lecture : 4 minutes

La fonction RECHERCHEX, permet de rechercher une information dans une table depuis un identifiant. Elle est plus simple à coder que la fonction RECHERCHEV.

  1. L'élément à rechercher

    C'est l'identifiant, il doit être unique.

  2. La colonne contenant l'élément à rechercher

    Une seule colonne à sélectionner, et non pas toute une table

  3. La colonne qui contient la donnée à retourner

    Sélectionner la colonne où se trouve l'élément à retourner

Pourquoi avoir créé une nouvelle fonction de recherche dans Excel ?

Dans Excel, il y a déjà 2 fonctions de recherche très populaires ; RECHERCHEV et INDEX

Seulement, chacune de ces fonctions ont leurs avantages et leurs inconvénients.

RECHERCHEVINDEX
AvantageAssez facile à construireRecherche à gauche de la colonne de recherche
InconvénientLa recherche Exacte n'est pas l'option par défautRecherche par position et non pas par valeur

La fonction RECHERCHEX conserve les avantages des 2 fonctions et gomme les inconvénients.

Le nom RECHERCHEX est la combinaison de RECHERCHEV et INDEX

  • RECHERCHE pour RECHERCHEV
  • X pour INDEX

Comment s'écrit une RECHERCHEX dans Excel ?

La fonction RECHERCHEX peut s'écrire avec 6 paramètres mais les 3 premiers sont les plus important.

  1. Valeur recherchée
  2. Colonne de recherche
  3. Colonne à retourner

Puis vous pouvez y ajouter les options suivantes :

  1. Valeur à retourner en cas d'erreur
  2. Type de recherche (Exacte, approchante sens croissant, approchante sens décroissante)
  3. Retourner la plus petite ou la plus grande valeur.

RECHERCHEX est la nouvelle fonction de recherche dans Excel. Elle simplifie le travail de sélection et de recherche mais également apporte des évolutions très importantes

Cette fonction n'est accessible qu'avec la version d'Office 365.

Ecrire une recherche exacte

Avec cette nouvelle fonction, il suffit seulement de 3 paramètres pour retourner une donnée. Mais surtout, par rapport à RECHERCHEV, il suffit de sélectionner la colonne ou se trouve la valeur à retourner et non tout le tableau de recherche.

Par exemple, pour retourner la ville en fonction de l'email, nous allons écrire

  1. La valeur recherchée (C2)
  2. La colonne de recherche ([EmailAddress])
  3. La colonne où se trouve la valeur à retourner ([Ville])

=RECHERCHEX(C2,tb_Client[EmailAddress],tb_Client[Ville])

Construction de la fonction RECHERCHEX

Ici, nous avons volontairement intégrer les données dans un tableau pour que les références des colonnes reprennent le nom des entêtes de colonne. C'est plus facile pour voir les colonnes utilisées

Faire une recherche vers la gauche

Normalement, pour faire une recherche vers la gauche, il faut utiliser la fonction INDEX associée à la fonction EQUIV. Mais avec la fonction RECHERCHEX, peu importe la position de la colonne de recherche. La fonction retournera toujours la valeur de la colonne en 3e paramètre.

Toujours à partir de l'email, pour retourner le nom de famille, il suffit de changer le 3e argument et choisir le colonne Nom.

=RECHERCHEX(C2,tb_Client[EmailAddress],tb_Client[Nom])

Recherche vers la gauche avec la fonction RECHERCHEX

Sécuriser les résultats quand les colonnes bougent

Cette facilité de ne sélectionner que la colonne à retourner permet de garantir l'intégrité des vos résultats. Vous pouvez librement permuter les colonnes ou rajouter des colonnes vides, sans altérer le résultat

Message en cas d'erreur

Que vous utilisiez RECHERCHEV, INDEX ou RECHERCHEX, si la valeur recherchée n'existe pas, le résultat sera #N/A.

La fonction RECHERCHEX retourne NA quand la recherche naboutit pas

Mais laisser #N/A dans une cellule n'est pas un résultat acceptable. En renseignant le 4e paramètre de la fonction, vous pouvez indiquer le résultat à renvoyer en cas d'erreur dans la recherche.

Le quatrième paramètre de RECHERCHEX gère le message en cas derreur

Retourner plus d'une colonne

RECHERCHEX fait partie des nouvelles fonctions de Microsoft 365. Et parmi ces fonctions, il y a les fonctions matricielles dynamiques. Une fonction matricielle c'est une fonction qui retourne le résultat dans plusieurs cellules.

Appliqué à la fonction RECHERCHEX, il vous suffit de sélectionner plusieurs colonnes contiguës pour retourner plusieurs valeurs.

=RECHERCHEX(C2;tb_Client[EmailAddress];tb_Client[[Nom]:[Prénom]])

REXHERCHEX retourne peut retourner plus dune colonne

Articles liés

9 Comments

  1. Roland Mungwele NzilaFanan
    20/11/2021 @ 11:13

    L'exemple avec la rechercheX n'est marche pas quand on utilise L'e-mail comme valeur recherchée

    Reply

    • Frédéric LE GUEN
      20/11/2021 @ 12:35

      Il y a nécessairement une différence entre vos 2 chaînes de caractères car la fonction RECHERCHEX fonctionne parfaitement. Il se peut aussi que vous ayez des espaces à la fin de l'une de vos chaînes de caractères. Mais ça vous pouvez le supprimer avec l'instruction SUPPRESPACE

      Reply

  2. sonia
    09/09/2021 @ 15:35

    bonjour,

    je ne sais pas si la bonne formule que j'utilise est la bonne (recherchex) donc je souhaite avoir votre aide :

    Voila j'ai un tableau dans un fichier qui contient dans la même colonne le nom et le prénom, en parallèle dans un autre tableau j'ai les adresse mail, ma demande est :

    est il possible de mettre l adresse mail a coté du bon nom.

    Merci par avance de votre réponse

    Reply

  3. MESSAGER
    23/08/2021 @ 08:16

    Bonjour

    Peut-être pourriez vous m'aider sur ce petit souci lors de l'utilisation de la fonction RECHERCHEX.

    =RECHERCHEX([@[Code Site]];'Suivi TVX SN En cours'!$A$4:$A$550;'Suivi TVX SN En cours'!$AL$4:$AL$550;" ";0)

    Lorsque j'utilise la fonction tel qu'écrite ci-dessus tout se passe bien si la cellule dans laquelle on va chercher l'information est pleine. Si elle est vide voilà la valeur par défaut qu'EXCEL indique : 00/01/1900.

    Je vous remercie par avance pour votre aide,

    Carole

    Reply

    • Antoine
      09/09/2021 @ 17:47

      Je suppose que les cellules «pleines» sont des dates, n'est-ce-pas ?
      (En fait, c'est plutôt dans l'autre sens, quand vous avez créer la formule, le résultat était une date, et Excel a forcé le format de date par défaut jj/mm/aaaa).

      00/01/1900 est la valeur en format date du nombre 0, et 0 est la valeur de la fonction RECHERCHEX renvoit pour votre cellule vide. Une fonction Excel ne peut pas renvoyer «cellule vide», ce n'est pas une «valeur» possible.

      Donc si vous voulez faire disparaître cet incompréhensible 00/01/1900, vous pouvez utiliser un truc des formats : si vous regarder le format de la cellule, vous verrez que c'est un format de la catégorie Date qui est sélectionné ; appuyer sur la catégorie «Personalisée» à la place ; le code de format affiché devrait ressembler à "jj/mm/aaaa" ou "jj/mm/aaaa;@" (sans les guillemets). Changez-le pour "jj/mm/aaaa;;" avec deux points-virgules : cela devrait faire disparaître les affreux 00/01/1900.

      Explication du truc: un format Excel est découpé en morceaux, séparé par des points-virgules ; quand il y a trois morceaux, le premier s'applique pour les valeurs positives (ici des dates); le deuxième pour des valeurs négatives (sans intérêt ici); le troisième pour des valeurs nulles; et quand c'est nul, on veut que ce soit.. rien. CQFD.

      Reply

  4. Charles Tosi
    03/10/2020 @ 22:46

    Bonjour
    Aprés avoir transpiré sur Recherchev qui m'a rendu d'énormes services, je découvre Recherchex qui doit me permettre de faire enfin ce que je voulais faire.
    Courbe d'apprentissage un peu raide mais on y arrive.
    la fonction d'expansion qui doit permettre de retrouver plusieurs cellules à la fois serait certainement la plus intéressante si elle marchait. Toutes mes tentatives se sont soldées par un #EPARS! .
    Il semble que personne sur le web soit en mesure de donner une explication et/ou une solution à ce message. j'ai pris la précaution de tester la formule sur un tableau vierge avec donc plein d'espace mais rien n'y fait.
    je me retourne donc vers vous dans l'espoir qur vous m'apportiez une réponse à ce problème.
    voici une de mes formules qui devrait me permettre de retrouver le contenu de 2 colonnes
    :
    =RECHERCHEX($B143;$A$2:$A$133;B$2:C$133;;)
    Merci d'avance pour votre aide

    Reply

    • Frédéric LE GUEN
      04/10/2020 @ 10:07

      Bonjour,
      Alors pour EPARS, j'ai déjà écrit un article sur ce sujet depuis plusieurs mois car je sais que c'est un problème pour bcp de personnes. Mais c'est aussi une bonne nouvelle car cela indique que vous travaillez avec une version d'Excel qui comprends les fonctions matricielles dynamiques. Et pour renvoyer plusieurs lignes comme vous le souhaitez, il y a la fonction FILTRE qui fait ça très facilement

      Reply

    • PRUM Mara
      23/10/2020 @ 10:19

      Bonjour
      après avoir eu des difficultés avec mes rechercheV
      voici ce que j'ai trouvé sur le net après beaucoup de recherche
      exemple :
      =recherchev(@xxxxx;xxxxx;2;0)
      lorsque je ne mets pas le @ j'ai l'erreur EPARS

      Reply

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Microsoft MVP 2024

Newsletter

1 fois par mois :
Astuces et quiz

    Nous ne vous enverrons pas de spam. Vous pouvez vous désabonner à tout moment.

    La fonction RECHERCHEX d’Excel

    Reading time: 4 minutes
    Dernière mise à jour le 17/08/2024

    La fonction RECHERCHEX, permet de rechercher une information dans une table depuis un identifiant. Elle est plus simple à coder que la fonction RECHERCHEV.

    1. L'élément à rechercher

      C'est l'identifiant, il doit être unique.

    2. La colonne contenant l'élément à rechercher

      Une seule colonne à sélectionner, et non pas toute une table

    3. La colonne qui contient la donnée à retourner

      Sélectionner la colonne où se trouve l'élément à retourner

    Pourquoi avoir créé une nouvelle fonction de recherche dans Excel ?

    Dans Excel, il y a déjà 2 fonctions de recherche très populaires ; RECHERCHEV et INDEX

    Seulement, chacune de ces fonctions ont leurs avantages et leurs inconvénients.

    RECHERCHEVINDEX
    AvantageAssez facile à construireRecherche à gauche de la colonne de recherche
    InconvénientLa recherche Exacte n'est pas l'option par défautRecherche par position et non pas par valeur

    La fonction RECHERCHEX conserve les avantages des 2 fonctions et gomme les inconvénients.

    Le nom RECHERCHEX est la combinaison de RECHERCHEV et INDEX

    • RECHERCHE pour RECHERCHEV
    • X pour INDEX

    Comment s'écrit une RECHERCHEX dans Excel ?

    La fonction RECHERCHEX peut s'écrire avec 6 paramètres mais les 3 premiers sont les plus important.

    1. Valeur recherchée
    2. Colonne de recherche
    3. Colonne à retourner

    Puis vous pouvez y ajouter les options suivantes :

    1. Valeur à retourner en cas d'erreur
    2. Type de recherche (Exacte, approchante sens croissant, approchante sens décroissante)
    3. Retourner la plus petite ou la plus grande valeur.

    RECHERCHEX est la nouvelle fonction de recherche dans Excel. Elle simplifie le travail de sélection et de recherche mais également apporte des évolutions très importantes

    Cette fonction n'est accessible qu'avec la version d'Office 365.

    Ecrire une recherche exacte

    Avec cette nouvelle fonction, il suffit seulement de 3 paramètres pour retourner une donnée. Mais surtout, par rapport à RECHERCHEV, il suffit de sélectionner la colonne ou se trouve la valeur à retourner et non tout le tableau de recherche.

    Par exemple, pour retourner la ville en fonction de l'email, nous allons écrire

    1. La valeur recherchée (C2)
    2. La colonne de recherche ([EmailAddress])
    3. La colonne où se trouve la valeur à retourner ([Ville])

    =RECHERCHEX(C2,tb_Client[EmailAddress],tb_Client[Ville])

    Construction de la fonction RECHERCHEX

    Ici, nous avons volontairement intégrer les données dans un tableau pour que les références des colonnes reprennent le nom des entêtes de colonne. C'est plus facile pour voir les colonnes utilisées

    Faire une recherche vers la gauche

    Normalement, pour faire une recherche vers la gauche, il faut utiliser la fonction INDEX associée à la fonction EQUIV. Mais avec la fonction RECHERCHEX, peu importe la position de la colonne de recherche. La fonction retournera toujours la valeur de la colonne en 3e paramètre.

    Toujours à partir de l'email, pour retourner le nom de famille, il suffit de changer le 3e argument et choisir le colonne Nom.

    =RECHERCHEX(C2,tb_Client[EmailAddress],tb_Client[Nom])

    Recherche vers la gauche avec la fonction RECHERCHEX

    Sécuriser les résultats quand les colonnes bougent

    Cette facilité de ne sélectionner que la colonne à retourner permet de garantir l'intégrité des vos résultats. Vous pouvez librement permuter les colonnes ou rajouter des colonnes vides, sans altérer le résultat

    Message en cas d'erreur

    Que vous utilisiez RECHERCHEV, INDEX ou RECHERCHEX, si la valeur recherchée n'existe pas, le résultat sera #N/A.

    La fonction RECHERCHEX retourne NA quand la recherche naboutit pas

    Mais laisser #N/A dans une cellule n'est pas un résultat acceptable. En renseignant le 4e paramètre de la fonction, vous pouvez indiquer le résultat à renvoyer en cas d'erreur dans la recherche.

    Le quatrième paramètre de RECHERCHEX gère le message en cas derreur

    Retourner plus d'une colonne

    RECHERCHEX fait partie des nouvelles fonctions de Microsoft 365. Et parmi ces fonctions, il y a les fonctions matricielles dynamiques. Une fonction matricielle c'est une fonction qui retourne le résultat dans plusieurs cellules.

    Appliqué à la fonction RECHERCHEX, il vous suffit de sélectionner plusieurs colonnes contiguës pour retourner plusieurs valeurs.

    =RECHERCHEX(C2;tb_Client[EmailAddress];tb_Client[[Nom]:[Prénom]])

    REXHERCHEX retourne peut retourner plus dune colonne

    Articles liés

    Newsletter

    1 fois par mois :
    Astuces et quiz

      Nous ne vous enverrons pas de spam. Vous pouvez vous désabonner à tout moment.

      9 Comments

      1. Roland Mungwele NzilaFanan
        20/11/2021 @ 11:13

        L'exemple avec la rechercheX n'est marche pas quand on utilise L'e-mail comme valeur recherchée

        Reply

        • Frédéric LE GUEN
          20/11/2021 @ 12:35

          Il y a nécessairement une différence entre vos 2 chaînes de caractères car la fonction RECHERCHEX fonctionne parfaitement. Il se peut aussi que vous ayez des espaces à la fin de l'une de vos chaînes de caractères. Mais ça vous pouvez le supprimer avec l'instruction SUPPRESPACE

          Reply

      2. sonia
        09/09/2021 @ 15:35

        bonjour,

        je ne sais pas si la bonne formule que j'utilise est la bonne (recherchex) donc je souhaite avoir votre aide :

        Voila j'ai un tableau dans un fichier qui contient dans la même colonne le nom et le prénom, en parallèle dans un autre tableau j'ai les adresse mail, ma demande est :

        est il possible de mettre l adresse mail a coté du bon nom.

        Merci par avance de votre réponse

        Reply

      3. MESSAGER
        23/08/2021 @ 08:16

        Bonjour

        Peut-être pourriez vous m'aider sur ce petit souci lors de l'utilisation de la fonction RECHERCHEX.

        =RECHERCHEX([@[Code Site]];'Suivi TVX SN En cours'!$A$4:$A$550;'Suivi TVX SN En cours'!$AL$4:$AL$550;" ";0)

        Lorsque j'utilise la fonction tel qu'écrite ci-dessus tout se passe bien si la cellule dans laquelle on va chercher l'information est pleine. Si elle est vide voilà la valeur par défaut qu'EXCEL indique : 00/01/1900.

        Je vous remercie par avance pour votre aide,

        Carole

        Reply

        • Antoine
          09/09/2021 @ 17:47

          Je suppose que les cellules «pleines» sont des dates, n'est-ce-pas ?
          (En fait, c'est plutôt dans l'autre sens, quand vous avez créer la formule, le résultat était une date, et Excel a forcé le format de date par défaut jj/mm/aaaa).

          00/01/1900 est la valeur en format date du nombre 0, et 0 est la valeur de la fonction RECHERCHEX renvoit pour votre cellule vide. Une fonction Excel ne peut pas renvoyer «cellule vide», ce n'est pas une «valeur» possible.

          Donc si vous voulez faire disparaître cet incompréhensible 00/01/1900, vous pouvez utiliser un truc des formats : si vous regarder le format de la cellule, vous verrez que c'est un format de la catégorie Date qui est sélectionné ; appuyer sur la catégorie «Personalisée» à la place ; le code de format affiché devrait ressembler à "jj/mm/aaaa" ou "jj/mm/aaaa;@" (sans les guillemets). Changez-le pour "jj/mm/aaaa;;" avec deux points-virgules : cela devrait faire disparaître les affreux 00/01/1900.

          Explication du truc: un format Excel est découpé en morceaux, séparé par des points-virgules ; quand il y a trois morceaux, le premier s'applique pour les valeurs positives (ici des dates); le deuxième pour des valeurs négatives (sans intérêt ici); le troisième pour des valeurs nulles; et quand c'est nul, on veut que ce soit.. rien. CQFD.

          Reply

      4. Charles Tosi
        03/10/2020 @ 22:46

        Bonjour
        Aprés avoir transpiré sur Recherchev qui m'a rendu d'énormes services, je découvre Recherchex qui doit me permettre de faire enfin ce que je voulais faire.
        Courbe d'apprentissage un peu raide mais on y arrive.
        la fonction d'expansion qui doit permettre de retrouver plusieurs cellules à la fois serait certainement la plus intéressante si elle marchait. Toutes mes tentatives se sont soldées par un #EPARS! .
        Il semble que personne sur le web soit en mesure de donner une explication et/ou une solution à ce message. j'ai pris la précaution de tester la formule sur un tableau vierge avec donc plein d'espace mais rien n'y fait.
        je me retourne donc vers vous dans l'espoir qur vous m'apportiez une réponse à ce problème.
        voici une de mes formules qui devrait me permettre de retrouver le contenu de 2 colonnes
        :
        =RECHERCHEX($B143;$A$2:$A$133;B$2:C$133;;)
        Merci d'avance pour votre aide

        Reply

        • Frédéric LE GUEN
          04/10/2020 @ 10:07

          Bonjour,
          Alors pour EPARS, j'ai déjà écrit un article sur ce sujet depuis plusieurs mois car je sais que c'est un problème pour bcp de personnes. Mais c'est aussi une bonne nouvelle car cela indique que vous travaillez avec une version d'Excel qui comprends les fonctions matricielles dynamiques. Et pour renvoyer plusieurs lignes comme vous le souhaitez, il y a la fonction FILTRE qui fait ça très facilement

          Reply

        • PRUM Mara
          23/10/2020 @ 10:19

          Bonjour
          après avoir eu des difficultés avec mes rechercheV
          voici ce que j'ai trouvé sur le net après beaucoup de recherche
          exemple :
          =recherchev(@xxxxx;xxxxx;2;0)
          lorsque je ne mets pas le @ j'ai l'erreur EPARS

          Reply

      Laisser un commentaire

      Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

      Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.