La fonction RECHERCHEX, permet de rechercher une information dans une table depuis un identifiant. Elle est plus simple à coder que la fonction RECHERCHEV.
- L'élément à rechercher
C'est l'identifiant, il doit être unique.
- La colonne contenant l'élément à rechercher
Une seule colonne à sélectionner, et non pas toute une table
- 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.
RECHERCHEV | INDEX | |
Avantage | Assez facile à construire | Recherche à gauche de la colonne de recherche |
Inconvénient | La recherche Exacte n'est pas l'option par défaut | Recherche 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.
- Valeur recherchée
- Colonne de recherche
- Colonne à retourner
Puis vous pouvez y ajouter les options suivantes :
- Valeur à retourner en cas d'erreur
- Type de recherche (Exacte, approchante sens croissant, approchante sens décroissante)
- 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
- La valeur recherchée (C2)
- La colonne de recherche ([EmailAddress])
- La colonne où se trouve la valeur à retourner ([Ville])
=RECHERCHEX(C2,tb_Client[EmailAddress],tb_Client[Ville])
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])
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.
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.
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]])
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
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
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
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
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.
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
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
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
Frédéric LE GUEN
23/10/2020 @ 11:32
Je ne comprends pas trop votre message, ça concerne RECHERCHEX, RECHERCHEV ou l'Erreur EPARS ?