Syntaxe
La fonction RECHERCHEH s’écrit de la façon suivante :
= RECHERCHEH( valeur_cherchée ; matrice ; index_col ; [valeur_proche] )
Cette fonction possède quatre arguments :
valeur cherchée
– Valeur cherchée dans la première ligne de la matrice.matrice
– Sélection d’une plage de données (plusieurs cellules). Elle doit démarrer par la ligne où se situe la valeur cherchée et se terminer a minima au niveau de la ligne de résultats.index de colonne
– Le numéro de la ligne où se situe le résultat à récupérer dans la matrice sélectionnée.valeur proche
– FAUX = valeur exacte / VRAI = valeur approximative.
La fonction RECHERCHEH est l’alter ego horizontal de la fonction RECHERCHEV. Elle permet de récupérer des valeurs dans une plage de données grâce à une autre valeur connue située au-dessus.
Bien que moins utilisée que la fonction RECHERCHEV, elle s’avère intéressante dès que le tableau où vous voulez récupérer des données est au format horizontal.

Cette fonction peut faire des recherches approximatives et exactes. La fonction RECHERCHEH peut également faire des recherches partielles grâce aux caractères génériques (ex: cellule qui commence par « texte »).
Il est également possible de cumuler plusieurs critères de recherche.
= RECHERCHEH( E10 ; D3:K5 ; 3 ; FAUX )
Comment faire un RECHERCHEH sur Excel ?
Suivez les quelques étapes ci-dessous pour mettre en œuvre la fonction RECHERCHEH dans votre tableur.
#1 – Définition la matrice
La première étape est de correctement définir la matrice de recherche. La fonction RECHERCHEH va rechercher la valeur indiquée dans le premier argument uniquement dans la première ligne. Assurez-vous que le tableau contienne en première ligne la valeur cherchée.

Si votre ligne de recherche se situe au milieu du tableau, ça n’est pas grave. Il faut juste que votre ligne de résultat se situe en dessous de votre ligne de recherche. Nous viendrons sélectionner une matrice allant de la ligne 5 à la ligne 8.

Si malgré tout votre ligne de résultats se trouve au-dessus de la ligne de recherche, vous pouvez déplacer vos lignes ou vous orienter vers une RECHERCHEH inversée grâce à la fonction RECHERCHEX ou à la solution INDEX EQUIV.
#2 – Sélectionner la valeur cherchée
Vous devez à présent sélectionner la valeur cherchée. Elle peut être contenue dans une cellule, être saisie directement dans la formule ou être le résultat d’une autre formule.
= RECHERCHEH( I4 ... --> valeur contenue dans la cellule
= RECHERCHEH( 12130 ... --> valeur saisie
= RECHERCHEH( SI(...) ... --> résultat d'une autre formule

#3 – Sélectionner la matrice
À présent, sélectionnez la matrice. Il s’agit de la plage des données qui commence au niveau de la ligne de recherche et qui se termine a minima à la ligne des résultats.
Il sera important quelquefois de « figer la matrice ». Pour cela, utilisez les dollars dans Excel. Ce sera le cas lorsque vous allez étirer votre formule sur plusieurs lignes tout en gardant la même matrice.
= RECHERCHEH( E10 ; $D$3:$K$5 ; ...

#4 – Indiquer le numéro de la ligne de la valeur à récupérer
Indiquez dans quelle ligne de votre matrice se situe le résultat que vous voulez récupérer. Il faut indiquer le numéro de la ligne par rapport à la matrice sélectionnée (dans notre exemple c’est la ligne 3).
= RECHERCHEV( I4 ; $B$4:$G$11 ; 3 ; ... )
#5 – Recherche approximative ou recherche exacte
La fonction RECHERCHEH vous permet de faire des recherches approximatives ou des recherches exactes. Pour cela vous devez saisir :
- FAUX ou 0 pour une recherche exacte
- VRAI ou 1 ou omettre l’argument pour une recherche approximative
Par principe, les approximations d’Excel ne sont pas vos approximations. Je vous conseille d’indiquer FAUX ou 0.
= RECHERCHEV( I4 ; $B$4:$G$11 ; 3 ; FAUX )
Quelle est la différence entre la RECHERCHEV et la RECHERCHEH ?
La fonction RECHERCHEV permet de récupérer une valeur dans un tableau au format vertical.

La fonction RECHERCHEH permet de récupérer une valeur dans un tableau au format horizontal.

Quelques exemples d’utilisation de la fonction RECHERCHEH sur Excel
Faire une RECHERCHEH sur 2 onglets
Pour faire une RECHERCHEH entre 2 onglets, il suffit de préciser les coordonnées dans la formule ou de sélectionner la matrice correspondante au moment de la saisie de la formule.
= RECHERCHEH( I4 ; Synthese!$B$4:$G$11 ; 6 ; FAUX )
Faire une RECHERCHEV dans un autre classeur
Il est possible de faire une RECHERCHEH avec un matrice située dans un autre classeur.Vous pouvez indiquer le nom du document entre crochets s’il est ouvert sur votre poste ou sélectionner la matrice dans le document avec votre souris au moment de la saisie.
= RECHERCHEH( I4 ; [nom_du_classeur]Synthese!$B$4:$G$11 ; 6 ; FAUX )
Lors de la prochaine ouverture de votre document Excel, le nom du document sera remplacé par le chemin vers celui-ci et Excel vous proposera de mettre à jour les liens. Il veut ainsi actualiser les données.
Faire une RECHERCHEH dans un classeur entier
Si vous voulez faire une RECHERCHEH dans plusieurs matrices situées dans plusieurs onglets, la solution la plus simple est de cumuler les RECHERCHEH en les liant par des &
.
= RECHERCHEH( I4 ; 'Onglet 1'!$B$4:$G$11 ; 6 ; FAUX )
& RECHERCHEH( I4 ; 'Onglet 2'!$B$4:$G$11 ; 6 ; FAUX )
& RECHERCHEH( I4 ; 'Onglet 3'!$B$4:$G$11 ; 6 ; FAUX )
& RECHERCHEH( I4 ; 'Onglet 4'!$B$4:$G$11 ; 6 ; FAUX )
Faire une RECHERCHEH partielle (commençant par, contenant, se terminant par,…)
Dans le cas où vous voudriez rechercher une valeur non exacte comme une cellule qui commence par « Production » ou se terminant par un texte précis, il va falloir vous servir des caractères génériques.
Les caractères génériques sont : *
, ?
, ~
.
Le tableau suivant résume leurs utilisations respectives.
Formule | Signification | Exemple |
---|---|---|
* | Chaîne de caractères | "abc", "a", "aaaaaa" |
? | Un caractère | "a", "B" |
??? | Trois caractères | "aBC", "AAA" |
*euros | Se terminant par euros | "4 euros" |
Bureau* | Commençant par | "Bureau d'études" |
?* | Au moins un caractère | "A", "AAA" |
salari?s | Un caractère remplacé | "salaries", "salariés" |
?????-????? | 5 caractères + tirets + 5 caractères | AB123-BC456 |
*~? | Se terminant par ? | "ça va ?" |
*prod* | Contient "prod" | "Service production" |
= RECHERCHEH( "*prod" ; 'Onglet 1'!$B$4:$G$11 ; 6 ; FAUX )
--> Rechercher une cellule qui se termine par "prod"
À noter que les caractères génériques fonctionnent uniquement avec du texte. Pour les nombres, il faudra trouver d’autres solutions.
Faire une RECHERCHEV avec plusieurs critères
Nativement, la fonction RECHERCHEH n’est pas prévue pour cumuler plusieurs conditions. Tout comme pour la fonction RECHERCHEV, je vous invite à envisager les mêmes solutions.
Suivant les cas, les solutions les plus intéressantes sont d’utiliser :
- la fonction CONCATENER
- la fonction SOMME.SI.ENS
- la fonction INDEX et la fonction EQUIV
- la fonction SOMMEPROD
Vous trouverez le détail de la mise en œuvre de ces solutions dans l’article dédié à la RECHERCHEV avec plusieurs critères. En voici un aperçu succinct. Il suffit de reprendre les mêmes principales et de les appliquer dans une logique horizontal.
--- Solution CONCATENER ---
= RECHERCHEH( A2 & A3; 'Onglet 1'!$B$4:$G$11 ; 6 ; FAUX )
--> On crée une colonne qui concatène les valeurs des
lignes 1 et 2 et on recherche la concaténation des 2.
--- Solution SOMME.SI.ENS ---
=SOMME.SI.ENS( somme de plage ; plage date ;
">=01/01/2022" ; plage date ; "<= 31/12/2022")
--> Lorsqu'on recherche une valeur numérique,
autant se servir de la fonction SOMME.SI.ENS.
Elle fonctionne aussi bien horizontalement
que verticalement
--- Solution INDEX et EQUIV ---
=EQUIV( colonne valeur à récupérer ;
EQUIV( 1 ; (plage critère 1 = critère 1) *
(plage critère 2 = critère 2) ; 0 ) ; 1 )
--> Il s'agit ici de mettre un argument matriciel
dans la fonction EQUIV
--- Solution SOMME.PROD ---
=SOMMEPROD((plage critère 1 = critère 1) *
(plage critère 2 = critère 2) *
(plage valeur à récupérer))
--> Utilisation d'une fonction matricielle
Transposer un tableau pour ne pas avoir besoin de se servir de la fonction RECHERCHEH
Si vous maîtrisez la fonction RECHERCHEV et que vous avez du mal avec la fonction RECHERCHEH. Le mieux est peut être de transposer la matrice de recherche.
Pour cela 2 solutions :
- Copiez votre matrice puis faites un
clic droit > collage spécial > Transposer
; - Utilisez la fonction TRANSPOSE.
Caractéristiques de la fonction RECHERCHEV
- La fonction RECHERCHEH renvoie le résultat lié à la première occurrence trouvée.
- Par défaut, la RECHERCHEH est approximative. Pour une recherche exacte, il faut utiliser l’argument
FAUX
. - La fonction RECHERCHEH n’est pas sensible à la casse. C’est-à-dire que « TEXTE » et « texte » sont identiques.
- Si l’erreur #NOM est renvoyée, vous avez mal saisi le nom de la fonction.
- Si l’erreur #N/A est renvoyée, c’est que la valeur recherchée n’est pas présente dans la première ligne. Pour neutraliser le #N/A, vous pouvez utiliser la fonction SI.NON.DISP ou la fonction SI couplée à la fonction ESTNA. Attention, il peut s’agir d’un problème de figeage de votre matrice avec les dollars.
- Si l’erreur #REF est renvoyée, les sources des données ont été supprimées. Il faut les saisir à nouveau.
Formules en lien
- RECHERCHEV avec plusieurs critères
- SOMME de RECHERCHEV
- RECHERCHEX plusieurs critères
- RECHERCHEV avec plusieurs résultats
- RECHERCHEV et CONCATENER
- Corriger l’erreur #N/A