🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

Excel HLOOKUP & LOOKUP — Recherches horizontales et la fonction héritée à mettre à la retraite

|

Excel HLOOKUP & LOOKUP — Recherches horizontales et la fonction héritée à mettre à la retraite

L'essentielHLOOKUP, c'est VLOOKUP couché sur le flanc : il recherche dans la première ligne de gauche à droite et renvoie une valeur d'une ligne en dessous — utilisez-le quand vos données courent en travers du haut au lieu de descendre sur le côté. Même règle du quatrième argument : passez FALSE pour une correspondance exacte. LOOKUP est le grand-parent des deux, et il a une limitation invalidante — aucune option de correspondance exacte. Il fait toujours une correspondance approximative et exige que la plage de recherche soit triée par ordre croissant, ce qui explique pourquoi il renvoie en silence de mauvaises réponses et pourquoi vous devriez presque toujours le remplacer. Les deux fonctionnent dans toutes les versions ; XLOOKUP gère l'horizontal et le vertical dans une seule fonction.

=HLOOKUP("Mar", A1:M4, 3, FALSE)     ' cherche "Mar" sur la ligne 1, renvoie la ligne 3, exact
=LOOKUP(F2, A2:A500, C2:C500)        ' hérité : approximatif seulement, A doit être triée

VLOOKUP et INDEX/MATCH couvrent la vaste majorité des recherches. HLOOKUP et LOOKUP sont les deux branches restantes de la famille — l'une dont vous aurez occasionnellement besoin, l'autre que vous devriez surtout savoir reconnaître et mettre à la retraite. Toutes deux prennent davantage de sens dès que vous les voyez comme des variations de la même idée balayer-et-récupérer, et non comme de nouveaux concepts à apprendre de zéro.

Remarque : dans une interface Excel en français, ces fonctions s'appellent RECHERCHEH (HLOOKUP), RECHERCHE (LOOKUP), RECHERCHEV (VLOOKUP), INDEX (INDEX), EQUIV (MATCH) et RECHERCHEX (XLOOKUP). Les codes d'erreur s'affichent #N/A, #REF!, #NOM?, #VALEUR!, #DIV/0!. Les formules ci-dessous utilisent les noms anglais — le comportement est identique.

Ce que vous allez apprendre

  • HLOOKUP comme un VLOOKUP pivoté : il balaie une ligne, puis lit vers le bas
  • Quand une disposition horizontale fait réellement de HLOOKUP le bon outil
  • Pourquoi LOOKUP n'a aucune correspondance exacte — son unique défaut de conception fatal
  • L'astuce LOOKUP(2, 1/…) que vous trouverez dans les vieux classeurs, et ce qu'elle fait
  • Pourquoi XLOOKUP rend discrètement ces deux fonctions facultatives

HLOOKUP : VLOOKUP pivoté de 90 degrés

Tout ce que vous savez sur VLOOKUP s'applique à HLOOKUP — il suffit de remplacer « colonne » par « ligne ». Il recherche dans la première ligne du tableau de gauche à droite, et lorsqu'il trouve votre valeur il se décale vers le bas de row_index_num lignes :

=HLOOKUP(lookup_value, table, row_index_num, [range_lookup])
=HLOOKUP("Mar", A1:M4, 3, FALSE)   ' "Mar" est dans la ligne 1 ; renvoie la cellule de la 3ᵉ ligne

Le H, c'est pour horizontal. Le quatrième argument se comporte à l'identique de celui de VLOOKUP : omettez-le et vous obtenez une correspondance approximative qui exige la première ligne triée de gauche à droite ; passez FALSE pour la correspondance exacte que vous voulez presque toujours. Et comme VLOOKUP, il ne lit que dans un seul sens — vers le bas à partir de la ligne trouvée — donc la valeur que vous voulez doit se situer sous la ligne que vous recherchez.

Quand HLOOKUP est réellement le bon choix

HLOOKUP mérite sa place quand les données sont réellement disposées en travers du haut : des libellés de période (jan, fév, mar…) courant le long de la ligne 1 avec des indicateurs empilés dans les lignes en dessous. C'est un tableau transposé, et pour lui HLOOKUP est l'ajustement naturel là où VLOOKUP exigerait d'abord de pivoter les données.

' Ligne 1 : Jan Fév Mar Avr ...   Ligne 2 : Revenu   Ligne 3 : Coût   Ligne 4 : Marge
=HLOOKUP(G1, A1:M4, 4, FALSE)     ' G1 = "Mar" -> Marge de mars

Soyez honnête, cela dit, sur la fréquence à laquelle cela arrive. La plupart des données Excel sont stockées verticalement — les enregistrements vers le bas, les champs en travers — ce qui explique pourquoi VLOOKUP et INDEX/MATCH dominent et pourquoi HLOOKUP est un spécialiste. Si vous maîtrisez la disposition, le vertical est presque toujours la meilleure structure. HLOOKUP est fait pour quand vous avez hérité d'une disposition horizontale.

LOOKUP : l'ancêtre avec un défaut fatal

LOOKUP précède VLOOKUP, et il a un choix de conception qui le disqualifie de la plupart des usages modernes : il n'a aucun argument de correspondance exacte. Il n'existe pas de FALSE à passer. LOOKUP fait toujours une correspondance approximative et suppose toujours que la plage de recherche est triée par ordre croissant. Donnez-lui des données non triées et il renvoie de mauvaises réponses sans aucune erreur — la défaillance silencieuse, sans aucun moyen de la désactiver.

Sa « forme vectorielle », plus utile, prend trois arguments — un vecteur de recherche et un vecteur de résultat distinct :

=LOOKUP(F2, A2:A500, C2:C500)   ' cherche dans A (triée !), renvoie le C correspondant

Cette séparation entre plage de recherche et plage de résultat est une propriété agréable — il peut regarder à gauche, comme INDEX/MATCH — mais elle se paie au prix d'une correspondance approximative forcée sur des données triées. Au choix, un VLOOKUP exact, un INDEX/MATCH ou un XLOOKUP le bat sur toutes les dimensions qui comptent.

L'astuce LOOKUP(2, 1/…) dans les vieux classeurs

Vous ouvrirez une feuille héritée et y trouverez quelque chose de cryptique comme ceci :

=LOOKUP(2, 1/(A2:A500=F2), C2:C500)    ' renvoie la DERNIÈRE correspondance, pas la première

C'est une exploitation astucieuse de la nature approximative de LOOKUP. L'expression 1/(A2:A500=F2) produit 1 là où la ligne correspond à F2 et une erreur #DIV/0! là où elle ne correspond pas. Rechercher 2 — une valeur qui n'existe jamais — force LOOKUP à courir jusqu'au bout et à se poser sur le dernier 1 qu'il a vu, c'est-à-dire la dernière ligne correspondante. C'était la façon standard d'obtenir une « dernière correspondance » avant l'existence des outils modernes.

Vous n'avez plus besoin de l'écrire, mais vous devriez savoir la reconnaître. Dans Excel 365, la même intention est bien plus claire avec la recherche inversée de XLOOKUP :

=XLOOKUP(F2, A2:A500, C2:C500, , 0, -1)   ' -1 = recherche du bas vers le haut -> dernière correspondance

Le choix éclairé : où ces deux-là trouvent leur place

Assemblez toute la famille et l'arbre de décision est court :

  • VLOOKUP — données verticales, correspondance exacte, retour à droite. Le choix par défaut du quotidien.
  • INDEX/MATCH — données verticales, mais vous devez regarder à gauche, survivre aux modifications de colonnes ou faire une recherche bidirectionnelle.
  • HLOOKUP — les données courent réellement horizontalement en travers du haut.
  • LOOKUP — vous êtes en train de lire la vieille formule de quelqu'un d'autre. Pour du travail neuf, remplacez-la.
  • XLOOKUP — sur Excel 365, il fait vertical, horizontal, gauche, droite, dernière correspondance et valeurs « introuvable » par défaut dans une seule fonction, rendant HLOOKUP et LOOKUP largement facultatifs.

Ni HLOOKUP ni LOOKUP ne sont des fonctions à rechercher activement. Connaissez HLOOKUP pour le tableau transposé que vous finirez par rencontrer, et connaissez LOOKUP assez bien pour le traduire en quelque chose de meilleur quand vous en héritez.

Comment ExcelMaster aide

La moitié du temps où ces fonctions surgissent, c'est parce que vous avez ouvert un classeur bâti par quelqu'un d'autre — un rapport HLOOKUP horizontal ou une formule LOOKUP(2,1/…) déroutante — et que vous devez le comprendre ou le moderniser. ExcelMaster lit la formule existante, explique ce qu'elle fait réellement, et la réécrit en un clair XLOOKUP ou INDEX/MATCH quand la vieille approche est fragile — pour que vous héritiez du résultat, pas du risque.

Questions fréquentes

Quelle est la différence entre HLOOKUP et VLOOKUP ?

VLOOKUP recherche verticalement — le long de la première colonne — et renvoie une valeur d'une colonne à droite. HLOOKUP recherche horizontalement — en travers de la première ligne — et renvoie une valeur d'une ligne en dessous. Utilisez HLOOKUP quand vos données sont disposées avec les libellés en travers du haut au lieu de descendre sur le côté. Les deux prennent le même quatrième argument, où FALSE signifie correspondance exacte.

Pourquoi devrais-je éviter la fonction LOOKUP ?

LOOKUP n'a aucune option de correspondance exacte — il fait toujours une correspondance approximative et exige des données triées par ordre croissant, si bien qu'il renvoie en silence de mauvaises réponses sur des données non triées, sans aucun moyen de désactiver ce comportement. Utilisez plutôt un VLOOKUP exact, un INDEX/MATCH ou un XLOOKUP, qui prennent tous en charge la correspondance exacte.

Que fait LOOKUP(2, 1/(range=value)) ?

Il renvoie la dernière ligne correspondante. 1/(range=value) donne 1 pour les lignes correspondantes et des erreurs ailleurs ; rechercher 2 (qui n'existe jamais) fait que LOOKUP se pose sur le dernier 1. C'est une astuce héritée de « dernière correspondance » — dans Excel 365, utilisez XLOOKUP(value, range, result, , 0, -1) pour une recherche inversée plus claire.

HLOOKUP a-t-il le même piège de correspondance exacte que VLOOKUP ?

Oui. Le quatrième argument de HLOOKUP (range_lookup) vaut par défaut TRUE (approximatif), ce qui exige la première ligne triée de gauche à droite. Passez FALSE pour une correspondance exacte, exactement comme vous le feriez avec VLOOKUP.

XLOOKUP peut-il remplacer HLOOKUP et LOOKUP ?

Oui. Sur Excel 365, XLOOKUP recherche dans n'importe quel sens — vertical ou horizontal, avant ou arrière — avec une correspondance exacte par défaut et une valeur « introuvable » intégrée, couvrant tout ce que font HLOOKUP et LOOKUP, et davantage.

Testé dans

Testé dans : Excel 365 (Windows 11) — dernière vérification le 05/07/2026.

Guides associés : Excel VLOOKUP · Excel INDEX & MATCH · XLOOKUP (2025) · Excel IFERROR · Excel FILTER