Qu'est-ce que la fonction RECHERCHEX ?
RECHERCHEX (XLOOKUP en anglais) est le successeur moderne de RECHERCHEV, disponible depuis Excel 365 et Excel 2021. Elle corrige d'un coup toutes les limitations qui t'ont probablement agacé : tu peux chercher dans n'importe quelle direction (y compris vers la gauche), la gestion des erreurs est intégrée via un paramètre dédié, et tu n'as plus besoin de compter le numéro de colonne à la main.
Concrètement, c'est elle qui retrouve les coordonnées d'un client à partir de son code, récupère un code fournisseur depuis un nom (impossible avec RECHERCHEV), affiche le prix le plus récent d'un produit dans un historique, ou associe des collaborateurs à leur manager avec une recherche partielle par caractères génériques. Si tu es sur une version récente d'Excel, elle devrait devenir ton réflexe pour toutes tes recherches.
Syntaxe
=RECHERCHEX(valeur_cherchée; plage_recherche; plage_retour; [si_non_trouvé]; [mode_correspondance]; [mode_recherche])Clique sur un argument pour aller à son explication.
RECHERCHEX nécessite Excel 365 (abonnement actif) ou Excel 2021. Sur les versions antérieures, utilise RECHERCHEV ou la combinaison INDEX/EQUIV. Les 3 premiers paramètres couvrent 80 % des cas ; les 3 derniers sont pour les usages avancés.

Comprendre chaque paramètre de la fonction RECHERCHEX
Les trois premiers arguments forment le cœur de la fonction : ce que tu cherches, la colonne où chercher, puis la colonne d'où ramener le résultat. Ces deux dernières plages sont indépendantes, c'est ce qui te laisse ramener une valeur située à gauche.
Les trois suivants sont facultatifs : si_non_trouvé te débarrasse du #N/A, mode_correspondance ouvre l'approximatif et les caractères génériques, et mode_recherche te laisse balayer de bas en haut pour attraper la dernière occurrence.
valeur_cherchée
: la valeur que tu cherches dans ta base de donnéesÇa peut être un texte comme "Paris", un nombre comme 1234, une référence de cellule comme A2, ou le résultat d'une autre formule. Excel va scanner ta plage de recherche pour trouver cette valeur.
plage_recherche
: la colonne (ou ligne) dans laquelle Excel va chercher ta valeurContrairement à RECHERCHEV où tu dois sélectionner tout le tableau, ici tu sélectionnes uniquement la colonne de recherche, comme B2:B100. C'est plus clair et plus rapide à écrire.
plage_retour
: la colonne (ou ligne) dont tu veux récupérer la valeur, par exemple `E2:E100`Cette plage doit avoir exactement la même taille que la plage_recherche.
L'avantage décisif de RECHERCHEX par rapport à RECHERCHEV : cette plage peut se trouver n'importe où, même à gauche de la colonne de recherche. Plus besoin de compter les colonnes ni de réorganiser ton tableau.
[si_non_trouvé]
: la valeur à retourner si aucune correspondance n'est trouvée(facultatif)Ce paramètre remplace avantageusement SIERREUR qu'on devait utiliser avec RECHERCHEV. Tu peux mettre un texte comme "Non trouvé", un nombre comme 0, ou une cellule vide "".
Si tu omets ce paramètre, Excel retourne l'erreur #N/A en cas d'échec, comme avec RECHERCHEV.
[mode_correspondance]
: définit le type de correspondance(facultatif)Par défaut 0 (correspondance exacte). Les autres valeurs : -1 pour la valeur immédiatement inférieure (données triées décroissantes), 1 pour la valeur immédiatement supérieure (données triées croissantes), 2 pour la recherche avec caractères génériques (* pour plusieurs caractères, ? pour un seul).
Attention : Le mode -1 ou 1 (correspondance approximative) exige que tes données soient triées dans l'ordre correspondant, sinon le résultat sera faux.
[mode_recherche]
: définit l'ordre de parcours de la plage(facultatif)Par défaut 1 (du premier au dernier, trouve la première occurrence). La valeur -1 recherche du dernier au premier (trouve la dernière occurrence), très utile pour les historiques. Les valeurs 2 et -2 activent la recherche binaire (plus rapide sur très grandes plages triées).

Exemples pratiques pas à pas
Comment faire une fonction RECHERCHEX simple
Un code client tombe dans un message et on te demande de qui il s'agit, tout de suite. Ta base rassemble le code, le nom, la ville et le chiffre d'affaires annuel de chaque client, et tu veux retrouver le nom qui correspond au code CLI-042 en une seconde. La fonction RECHERCHEX va chercher ce code dans la colonne des codes et te ramène le nom associé.
- 1Dans une cellule, écris
=RECHERCHEX(. - 2En 1er argument : écris le code à retrouver,
"CLI-042". - 3En 2ᵉ argument : sélectionne la colonne des codes client,
A2:A19. La fonction balaie uniquement cette colonne, sans que tu aies à sélectionner tout le tableau comme avec RECHERCHEV. - 4En 3ᵉ argument : sélectionne la colonne des noms,
B2:B19. C'est de là que vient la réponse, prise sur la ligne où le code a été trouvé. - 5En 4ᵉ argument : écris le message à afficher si le code est introuvable,
"Non trouvé". C'est lui qui remplace la fonction SIERREUR que RECHERCHEV imposait. - 6Ferme la parenthèse et appuie sur Entrée.
=RECHERCHEX("CLI-042"; A2:A19; B2:B19; "Non trouvé")CLI-042 dans la colonne des codes (A2:A19), puis renvoie le nom situé en face dans B2:B19 : « Girard & Fils ». Si le code n'existait pas, elle afficherait « Non trouvé » au lieu d'une erreur.Comment faire une fonction RECHERCHEX sur plusieurs critères
Tu prépares un devis à envoyer avant ce soir et il te faut un prix précis, celui de l'écran vendu dans le Sud. Ta grille de tarifs affiche le même produit à un prix différent selon la région, donc un seul critère ne suffit pas à isoler la bonne ligne. La fonction RECHERCHEX croise directement tes deux critères, produit et région, et te sort le bon tarif, ici 319 €.
- 1Dans une cellule, écris
=RECHERCHEX(. - 2En 1er argument : saisis
1. La fonction va viser la ligne où tes deux conditions sont vraies en même temps, et cette ligne vaudra justement 1. - 3En 2ᵉ argument : écris la colonne de recherche en multipliant tes deux critères,
(A2:A5="Écran")*(B2:B5="Sud"). Chaque condition renvoie vrai ou faux, et leur produit ne donne 1 que sur la ligne qui remplit les deux. - 4En 3ᵉ argument : sélectionne la colonne des prix à ramener,
C2:C5. - 5En 4ᵉ argument : écris le texte de secours,
"Aucun tarif", au cas où aucune ligne ne coche les deux critères. Il évite un#N/Aen plein tableau. - 6Ferme la parenthèse et appuie sur Entrée.
=RECHERCHEX(1; (A2:A5="Écran")*(B2:B5="Sud"); C2:C5; "Aucun tarif")Comment gérer une erreur avec la fonction RECHERCHEX
Tu vérifies le stock avant de valider une commande, et la référence que tu tapes, REF-Z999, ne figure plus dans le catalogue. Plutôt que de laisser un #N/A polluer ton tableau au milieu des articles bien réels, la fonction RECHERCHEX affiche directement le message de ton choix, ici « Référence inconnue », grâce à son argument si_non_trouvé. C'est ce que RECHERCHEV ne savait pas faire seule.
- 1Dans une cellule, écris
=RECHERCHEX(. - 2En 1er argument : écris la référence à retrouver,
"REF-Z999". - 3En 2ᵉ argument : sélectionne la colonne des références,
A2:A4. C'est là que la fonction va chercher. - 4En 3ᵉ argument : sélectionne la colonne des quantités en stock,
C2:C4. C'est la valeur qui ressortirait si la référence existait. - 5En 4ᵉ argument : écris
"Référence inconnue", l'argument qui fait toute la différence ici. La référence étant absente, c'est ce message qui s'affiche au lieu du#N/A, et tu n'as pas besoin d'emballer la formule dans SIERREUR. - 6Ferme la parenthèse et appuie sur Entrée.
=RECHERCHEX("REF-Z999"; A2:A4; C2:C4; "Référence inconnue")#N/A, la fonction RECHERCHEX affiche le message prévu au quatrième argument, « Référence inconnue », sans le moindre SIERREUR autour.
Les erreurs fréquentes avec la fonction RECHERCHEX
RECHERCHEX a beau être plus moderne, elle bute encore sur trois cas. Un #N/A signale qu'elle n'a pas retrouvé ta valeur, souvent à cause d'un espace invisible ou parce que tu n'as pas rempli le 4e paramètre si_non_trouvé. Un #VALEUR! trahit deux plages de tailles différentes, et un #NOM? veut dire que ta version d'Excel ne connaît tout simplement pas la fonction.
Erreur #N/A : valeur introuvable sans message personnalisé
Même avec RECHERCHEX, #N/A apparaît si tu n'utilises pas le paramètre si_non_trouvé. Les causes fréquentes sont : la valeur n'existe pas dans la plage, des espaces invisibles dans les données, ou une différence de casse sur certains cas.
Solution : Ajoute le 4e paramètre : =RECHERCHEX(A2; Plage; Retour; "Non trouvé"). Pour les problèmes d'espaces invisibles, nettoie la valeur cherchée avec =RECHERCHEX(SUPPRESPACE(A2); Plage; Retour; "Non trouvé").
Erreur #VALEUR! : plages de tailles différentes
RECHERCHEX exige que plage_recherche et plage_retour aient exactement le même nombre de cellules. Un décalage d'une seule ligne (ex. A2:A10 vs C2:C11) provoque #VALEUR!.
Solution : Vérifie que tes deux plages commencent et terminent à la même ligne : =RECHERCHEX(A2; B2:B10; C2:C10). Un moyen simple : sélectionne les deux plages dans la barre de formule et note le nombre de lignes affiché.
Erreur #NOM? : fonction non reconnue
RECHERCHEX n'est pas disponible sur les versions d'Excel antérieures à Excel 365 (abonnement actif) ou Excel 2021. Sur ces versions, Excel ne reconnaît pas la fonction et affiche #NOM?.
Solution : Mets à jour vers Excel 365 ou utilise l'alternative INDEX/EQUIV, qui fonctionne sur toutes les versions : =INDEX(Retour; EQUIV(Cherchée; Recherche; 0)). C'est plus verbeux, mais équivalent pour la recherche bidirectionnelle.
Tu cherches surtout à corriger l'erreur #N/A affichée dans ta cellule, sans passer par la fonction RECHERCHEX ? Consulte la fiche dédiée à l'erreur #N/A pour comprendre toutes ses causes et comment la corriger.

RECHERCHEX vs RECHERCHEV vs INDEX/EQUIV
Si tu as Excel 365 ou 2021+, privilégie RECHERCHEX : elle est plus simple et plus puissante. Si tu dois rester compatible avec des versions antérieures, INDEX/EQUIV est le meilleur substitut.
| Critère | RECHERCHEX | RECHERCHEV | INDEX/EQUIV |
|---|---|---|---|
| Direction de recherche | Toutes directions | Droite uniquement | Toutes directions |
| Gestion native des erreurs | Oui (4e paramètre) | Non (nécessite SIERREUR) | Non (nécessite SIERREUR) |
| Dernière occurrence | Oui (6e paramètre) | Non supporté | Complexe |
| Facilité d'écriture | Facile | Moyenne | Difficile |
| Compatibilité | Excel 365 / 2021+ | Toutes versions | Toutes versions |

Astuces avancées avec RECHERCHEX
Retourner plusieurs colonnes en une seule formule
En passant une plage multi-colonnes comme plage_retour, RECHERCHEX retourne toutes les colonnes en une seule formule matricielle : =RECHERCHEX(A2; Codes; B2:D10) renvoie les 3 colonnes B, C et D de la ligne trouvée.
C'est une des nouveautés liées aux tableaux dynamiques : la formule déborde automatiquement dans les cellules adjacentes, sans avoir à la copier.
Chaîner deux RECHERCHEX pour une recherche à deux niveaux
Tu peux utiliser RECHERCHEX comme valeur cherchée d'une autre RECHERCHEX : =RECHERCHEX(RECHERCHEX(A2; Clients; ClientID); Factures; Montant; "Aucune facture") retrouve d'abord l'ID client depuis le nom, puis cherche le montant de sa facture.
La formule reste lisible tant que tu n'empiles pas plus de deux niveaux.
Recherche insensible à la casse avec RECHERCHEX
Par défaut, RECHERCHEX est sensible à la casse sur certaines configurations. Pour une recherche vraiment insensible, passe les deux termes en minuscules : =RECHERCHEX(MINUSCULE(A2); MINUSCULE(Plage); Retour; "Non trouvé").
La colonne de retour reste intacte ; seule la comparaison est normalisée.
Questions fréquentes
RECHERCHEX est la version moderne et améliorée de RECHERCHEV. Elle peut chercher dans n'importe quelle direction (pas seulement vers la droite), gère nativement les erreurs avec un paramètre dédié, et permet de spécifier une valeur par défaut si rien n'est trouvé. RECHERCHEV fonctionne sur toutes les versions d'Excel ; RECHERCHEX nécessite Excel 365 ou Excel 2021 minimum.
Oui. Google Sheets supporte RECHERCHEX depuis 2020. La syntaxe est identique à celle d'Excel. C'est devenu la méthode recommandée pour remplacer RECHERCHEV sur Google Sheets également.
Contrairement à RECHERCHEV qui ne peut chercher que vers la droite, RECHERCHEX permet de retourner une valeur située à gauche de la colonne de recherche. Il suffit de spécifier ta plage_retour indépendamment de la plage_recherche.
Par exemple : =RECHERCHEX(B2; Noms; Codes) cherchera dans Noms et retournera Codes, même si Codes est dans une colonne à gauche de Noms.
RECHERCHEX dispose d'un paramètre dédié si_non_trouvé (4e paramètre) qui permet de spécifier directement une valeur à retourner si la recherche échoue.
Par exemple : =RECHERCHEX(A2; Codes; Noms; "Non trouvé"). Plus besoin d'encapsuler la formule dans SIERREUR comme avec RECHERCHEV.
Oui. Le 6e paramètre mode_recherche à la valeur -1 parcourt la plage de bas en haut et retourne la dernière occurrence.
C'est très utile pour trouver la donnée la plus récente dans un historique : =RECHERCHEX("Produit"; Noms; Prix; "Inconnu"; 0; -1) trouve la dernière ligne correspondant au produit cherché.
Pour aller plus loin
Continue sur ta lancée après la fonction RECHERCHEX : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voirLa recherche dans Excel (RECHERCHEV, INDEX, EQUIV)

Le modèle Excel « Gestion de stock »

Le guide complet pour bien démarrer sur Excel



