HLOOKUP (« recherche horizontale », RECHERCHEH dans un Google Sheets en français) cherche une clé dans la ligne du haut d'une plage et renvoie une valeur d'une autre ligne, dans la même colonne. C'est la version horizontale de VLOOKUP, utile quand votre tableau a ses libellés en haut, comme des mois, des années ou des noms de produits en en-têtes de colonnes, plutôt que sur le côté gauche.
Syntaxe
=HLOOKUP(search_key, range, index, [is_sorted])
search_key: La valeur à rechercher dans la première ligne derange.range: Le tableau dans lequel chercher. La ligne qui contient la clé doit être la ligne du haut de cette plage.index: Le numéro de ligne dansrangedont on veut récupérer la valeur.1correspond à la ligne de la clé elle-même,2à la ligne du dessous, etc.is_sorted[Facultatif] :TRUE(par défaut) signifie correspondance approximative et exige que la première ligne soit triée par ordre croissant.FALSEsignifie correspondance exacte. UtilisezFALSE, sauf si vous voulez une correspondance approximative.
Exemple rapide
Supposons que A1:D3 contienne les ventes trimestrielles par région :
A B C D
1 Région T1 T2 T3
2 Nord 120 135 150
3 Sud 90 110 95
Les trimestres sont sur la ligne du haut. Pour obtenir la valeur du Nord pour T2, cherchez T2 dans la première ligne et renvoyez la 2e ligne de la plage :
=HLOOKUP("T2", A1:D3, 2, FALSE)
Résultat : 135. HLOOKUP trouve T2 dans la ligne du haut (colonne C) et renvoie la cellule de la 2e ligne de la plage, dans cette même colonne.
Pour choisir aussi la ligne par son nom, combinez avec MATCH :
=HLOOKUP("T2", A1:D3, MATCH("Sud", A1:A3, 0), FALSE)
Résultat : 110. MATCH trouve que Sud est la 3e ligne, et HLOOKUP s'en sert comme numéro de ligne.
Correspondance exacte ou approximative
Comme pour VLOOKUP, le quatrième argument est déterminant.
FALSErenvoie la première colonne dont la cellule du haut est égale à la clé. S'il n'y en a pas, vous obtenez#N/A. La comparaison ignore la casse et accepte les caractères génériques (*,?).TRUEou omis renvoie la colonne dont la valeur du haut est la plus grande valeur inférieure ou égale à la clé, et exige que la ligne du haut soit triée par ordre croissant. Sinon, le résultat est imprévisible et Sheets ne vous prévient pas.
La correspondance approximative convient aux tranches, par exemple un tableau de remises disposé à l'horizontale :
A B C D
1 Taille commande 0 100 500
2 Remise 0% 5% 10%
=HLOOKUP(250, A1:D2, 2, TRUE)
Résultat : 5%. 250 se situe entre 100 et 500, donc c'est la colonne de 100 qui est utilisée.
Erreurs courantes
#N/A. La clé n'est pas dans la ligne du haut. Vérifiez les espaces en fin de texte (utilisezTRIM) et les différences texte/nombre :"2026"et2026ne correspondent pas.#REF!.indexest supérieur au nombre de lignes de la plage. Une plageA1:D3a trois lignes, doncindexne peut pas dépasser3.- Mauvaise valeur, aucune erreur. Vous avez omis
FALSEet Sheets a utilisé une correspondance approximative sur une ligne non triée.
Quand éviter HLOOKUP
HLOOKUP a les mêmes limites que VLOOKUP, mais à l'horizontale : elle ne peut renvoyer que des lignes situées sous la ligne de la clé, et le numéro de ligne écrit en dur casse si vous insérez une ligne. Pour des recherches flexibles, préférez XLOOKUP, qui fonctionne dans toutes les directions, ou INDEX/MATCH.
Si vos données sont disposées à la verticale, utilisez VLOOKUP. Si vous maîtrisez la mise en page, les tableaux verticaux (un enregistrement par ligne) sont plus faciles à filtrer, trier et interroger que les tableaux horizontaux.
Questions fréquentes
Quelle différence entre HLOOKUP et VLOOKUP ? VLOOKUP cherche dans la première colonne et renvoie une valeur d'une autre colonne. HLOOKUP cherche dans la première ligne et renvoie une valeur d'une autre ligne.
HLOOKUP peut-elle renvoyer plusieurs lignes ? Passez un tableau comme index et entourez la formule de ARRAYFORMULA : =ARRAYFORMULA(HLOOKUP("T2", A1:D3, {2, 3}, FALSE)) renvoie les valeurs des lignes 2 et 3.
Peut-on utiliser HLOOKUP sur une autre feuille ? Oui : =HLOOKUP("T2", Ventes!A1:D3, 2, FALSE).
Fonctions associées
VLOOKUP: Recherche verticale dans la première colonne.XLOOKUP: Une recherche moderne qui fonctionne dans toutes les directions.INDEX: Renvoie une cellule à partir d'une position de ligne et de colonne.MATCH: Trouve la position d'une valeur dans une plage.