Retour aux fonctions

HLOOKUP

Recherche horizontale. Recherche une clé sur la première ligne d'une plage et renvoie la valeur d'une cellule spécifiée dans la colonne trouvée.

LookupHLOOKUP(search_key, range, index, [is_sorted])

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 de range.
  • 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 dans range dont on veut récupérer la valeur. 1 correspond à 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. FALSE signifie correspondance exacte. Utilisez FALSE, 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.

  • FALSE renvoie 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 (*, ?).
  • TRUE ou 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 (utilisez TRIM) et les différences texte/nombre : "2026" et 2026 ne correspondent pas.
  • #REF!. index est supérieur au nombre de lignes de la plage. Une plage A1:D3 a trois lignes, donc index ne peut pas dépasser 3.
  • Mauvaise valeur, aucune erreur. Vous avez omis FALSE et 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.

Articles associés

Newsletter

Plus d'exemples sur HLOOKUP arrivent bientôt.

Nous préparons des mises à jour courtes et pratiques pour les utilisateurs avancés de Sheets.