Fonction HLOOKUP d'Excel avec exemples de formules

  • Partage Ça
Michael Brown

Comme vous le savez probablement, Microsoft Excel dispose de trois fonctions pour rechercher une valeur - LOOKUP, VLOOKUP et HLOOKUP - et ce sont elles qui semblent dérouter le plus les utilisateurs. Dans ce tutoriel, nous nous concentrerons sur les spécificités de la fonction HLOOKUP d'Excel et aborderons quelques exemples de formules qui vous aideront à l'utiliser dans Excel le plus efficacement possible.

    Qu'est-ce que HLOOKUP dans Excel ?

    La fonction HLOOKUP d'Excel est conçue pour recherche horizontale Plus précisément, elle recherche une certaine valeur dans la première ligne du tableau et renvoie une autre valeur dans la même colonne à partir d'une ligne que vous spécifiez.

    La fonction HLOOKUP est disponible dans toutes les versions de Microsoft Excel 2016, Excel 2013, Excel 2010, Excel 2007 et inférieures.

    Syntaxe et utilisations de Excel HLOOKUP

    La fonction HLOOKUP dans Excel possède les arguments suivants :

    HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])
    • Valeur de la recherche (obligatoire) - la valeur à rechercher, qui peut être une référence de cellule, une valeur numérique ou une chaîne de texte.
    • Table_array (obligatoire) - deux lignes de données ou plus dans lesquelles la valeur de recherche est recherchée. Il peut s'agir d'une plage normale, d'une plage nommée ou d'un tableau. Les valeurs de recherche doivent toujours être situées dans la zone de recherche de l'utilisateur. première rangée de tableau_réseau .
    • Row_index_num (obligatoire) - numéro de la ligne dans table_array à partir de laquelle la valeur doit être renvoyée. Par exemple, pour renvoyer la valeur correspondante de la deuxième ligne, définissez row_index_num sur 2, et ainsi de suite.
    • Recherche de plage (facultatif) - une valeur logique (booléenne) qui indique à HLOOKUP de rechercher une correspondance exacte ou approximative.

      Si VRAI ou omis, un approximativement Cela signifie que si une correspondance exacte n'est pas trouvée, votre formule Hlookup effectuera une correspondance non exacte et renverra la plus grande valeur suivante qui est inférieure à lookup_value.

      Si FALSE, seule une correspondance exacte Si aucune valeur dans une ligne spécifiée ne correspond exactement à la valeur de recherche, HLOOKUP génère l'erreur #N/A.

    Pour faciliter la compréhension, vous pouvez traduire la syntaxe HLOOKUP d'Excel :

    HLOOKUP( valeur de la recherche , table_array , row_index_num , [range_lookup])

    en anglais normal :

    HLOOKUP( rechercher cette valeur dans ce tableau, renvoyer une valeur de cette ligne, [renvoyer une correspondance approximative ou exacte])

    Pour voir comment cela fonctionne en pratique, prenons un exemple simple de Hlookup. Supposons que vous ayez un tableau contenant des informations de base sur les planètes de notre système solaire (voir la capture d'écran ci-dessous). Ce que vous voulez, c'est une formule qui renvoie le diamètre de la planète dont le nom est entré dans la cellule B5.

    Dans notre formule Hlookup, nous utiliserons les arguments suivants :

    • Valeur de la recherche est B5 - la cellule contenant le nom de la planète que vous voulez trouver.
    • Table_array est B2:I3 - la table où la formule va chercher la valeur.
    • Row_index_num est 2 car Diameter est la 2ème ligne du tableau.
    • Recherche de plage Comme la première ligne de notre tableau n'est pas triée de A à Z, nous ne pouvons effectuer une recherche qu'avec une correspondance exacte, ce qui fonctionne parfaitement dans cet exemple.

    Maintenant, vous mettez les arguments ensemble et vous obtenez la formule suivante :

    =VLOOKUP(40, A2:B15,2)

    3 choses que vous devez savoir sur la fonction HLOOKUP d'Excel

    Chaque fois que vous effectuez une recherche horizontale dans Excel, n'oubliez pas les faits suivants :

    1. La fonction HLOOKUP ne peut effectuer une recherche que dans la rubrique rangée supérieure de tableau_réseau Si vous avez besoin de chercher ailleurs, envisagez d'utiliser une formule Index / Match.
    2. HLOOKUP dans Excel est insensible à la casse il ne fait pas la distinction entre les majuscules et les minuscules.
    3. Si recherche de plage a la valeur TRUE ou est omise ( approximativement ), les valeurs de la première ligne de l'indicateur tableau_réseau doivent être triés en ordre ascendant (A-Z) de gauche à droite.

    Quelle est la différence entre VLOOKUP et HLOOKUP dans Excel ?

    Comme vous le savez déjà, les fonctions VLOOKUP et HLOOKUP recherchent toutes deux une valeur de consultation. La différence réside dans la manière dont la recherche est effectuée. Comme vous l'avez probablement remarqué, les noms des fonctions ne diffèrent que par la première lettre - "H" signifie horizontal, et "V" vertical.

    Par conséquent, vous utilisez la fonction VLOOKUP pour rechercher est vertical lorsque vos valeurs de recherche sont situées dans une colonne à gauche des données que vous souhaitez trouver.

    La fonction HLOOKUP effectue un recherche horizontale - il recherche une valeur de consultation à la ligne la plus haute du tableau et renvoie une valeur située un nombre spécifié de lignes plus bas dans la même colonne.

    L'image suivante montre la différence entre les formules Vlookup et Hlookup dans Excel :

    Comment utiliser HLOOKUP dans Excel - exemples de formules

    Maintenant que la fonction HLOOKUP vous semble un peu plus familière, examinons quelques autres exemples de formules pour consolider vos connaissances.

    Recherche horizontale avec correspondance approximative et exacte

    Comme vous le savez déjà, la fonction HLOOKUP d'Excel peut effectuer une recherche avec une correspondance exacte ou non exacte, selon la valeur fournie à la fonction recherche de plage argument :

    • VRAI ou omis - approximativement match
    • FAUX - exact match

    Gardez à l'esprit que, bien que nous parlions de "correspondance approximative", toute formule Hlookup recherche d'abord une correspondance exacte. Mais le fait de définir le dernier argument sur FALSE permet à la formule de renvoyer une correspondance approximative (la valeur la plus proche qui est inférieure à la valeur de recherche) si une correspondance exacte n'est pas trouvée ; VRAI ou omis renvoie l'erreur #N/A dans ce cas.

    Pour mieux illustrer ce point, prenons les exemples suivants de HLOOKUP.

    HLOOKUP avec correspondance approximative

    Supposons que vous ayez une liste de planètes dans la ligne 2 (B2:I2) et leurs températures dans la ligne 1 (B1:I1). Vous voulez trouver quelle planète a une certaine température qui est entrée dans la cellule B4.

    Vous ne pouvez pas compter sur la chance que vos utilisateurs connaissent exactement la température de recherche, il est donc logique de retourner un match le plus proche si une valeur exacte n'est pas trouvée.

    Par exemple, pour trouver la planète dont la température moyenne est d'environ -340 °F, utilisez la formule suivante ( recherche de plage mis à VRAI ou omis comme dans cet exemple) :

    =HLOOKUP(B4, B1:I2, 2)

    N'oubliez pas qu'une correspondance approximative nécessite de trier les valeurs de la première ligne du plus petit au plus grand ou de A à Z, sinon votre formule Hlookup risque de renvoyer un résultat erroné.

    Comme vous pouvez le voir dans la capture d'écran ci-dessous, notre formule donne les résultats suivants Uranus l'une des planètes les plus froides du système solaire, avec une température moyenne de -346 degrés Fahrenheit.

    HLOOKUP avec correspondance exacte

    Si vous connaissez exactement la valeur de la consultation, vous pouvez donner la valeur FALSE au dernier paramètre de HLOOKUP :

    =HLOOKUP(B4, B1:I2, 2, FALSE)

    D'une part, la comparaison approximative est plus conviviale car elle ne nécessite pas de trier les données de la première ligne. D'autre part, si la correspondance exacte n'est pas trouvée, une erreur #N/A est renvoyée.

    Astuce : pour ne pas effrayer vos utilisateurs par des erreurs N/A, vous pouvez intégrer votre formule Hlookup dans IFERROR et afficher votre propre message, par exemple :

    =IFERROR(HLOOKUP(B4, B1:I2, 2, FALSE), "Sorry, nothing has been found")

    Comment faire un HLOOKUP à partir d'une autre feuille de calcul ou d'un autre classeur ?

    En général, la consultation à partir d'une autre feuille ou d'un autre classeur ne signifie rien d'autre que la fourniture de références externes à votre formule HLOOKUP.

    Pour extraire les données correspondantes d'un feuille de calcul différente vous spécifiez le nom de la feuille suivi d'un point d'exclamation, par exemple :

    =HLOOKUP(B$1, Diamètres!$B$1:$I$2,2,FALSE)

    Si le nom de la feuille de calcul contient espaces ou caractères non alphabétiques , mettez le nom entre guillemets simples, comme ceci :

    =HLOOKUP(B$1, 'Planet diameters'!$B$1:$I$2,2,FALSE)

    Lors du référencement un autre classeur Incluez le nom du classeur entre crochets :

    =HLOOKUP(B$1, [Book1.xlsx]Diamètres!$B$1:$I$2, 2, FALSE)

    Si vous extrayez des données d'un classeur fermé, le chemin d'accès complet doit être spécifié :

    =HLOOKUP(B$1, 'D:\Reports\[Book1.xlsx]Diamètres'!$B$1:$I$2, 2, FALSE)

    Conseil : au lieu de saisir manuellement les noms du classeur et de la feuille de calcul dans la formule, vous pouvez sélectionner les cellules d'une autre feuille et Excel ajoutera automatiquement une référence externe à votre formule.

    Excel HLOOKUP avec correspondance partielle (caractères génériques)

    Comme c'est le cas pour VLOOKUP, la fonction HLOOKUP d'Excel permet d'utiliser les caractères génériques suivants dans le champ valeur de la recherche argument :

    • Point d'interrogation ( ?) pour correspondre à tout caractère unique
    • Astérisque (*) pour correspondre à toute séquence de caractères

    Les caractères génériques sont utiles lorsque vous souhaitez extraire des informations d'une base de données en fonction d'un texte qui fait partie du contenu de la cellule de recherche.

    Par exemple, vous disposez d'une liste de noms de clients dans la ligne 1 et d'identifiants de commande dans la ligne 2. Vous souhaitez trouver l'identifiant de commande d'un client spécifique, mais vous ne vous souvenez pas exactement du nom du client, même si vous vous souvenez qu'il commence par "ace".

    En supposant que vos données se trouvent dans les cellules B1:I2 ( table_array) et les numéros de commande sont dans la ligne 2 ( numéro_index_rang ), la formule est la suivante :

    =HLOOKUP("ace*", B1:I2, 2, FALSE)

    Pour rendre la formule plus flexible, vous pouvez saisir la valeur de consultation dans une cellule spéciale, par exemple B4, et concaténer cette cellule avec le caractère générique, comme ceci :

    =HLOOKUP(B4& ; "*", B1:I2, 2, FALSE)

    Notes.

    • Pour qu'une formule HLOOKUP avec caractère de remplacement fonctionne correctement, l'attribut recherche de plage doit être mis à FALSE.
    • Si tableau_réseau contient plus d'une valeur qui répond aux critères du caractère générique, la première valeur trouvée est renvoyée.

    Références de cellules absolues et relatives dans les formules HLOOKUP

    Si vous écrivez une formule pour une seule cellule, vous ne devez pas vous soucier de l'utilisation correcte des références de cellule relatives et absolues, l'une ou l'autre fera l'affaire.

    La copie d'une formule dans plusieurs cellules est une autre histoire. En résumé :

    • Vous devez toujours fixer tableau_réseau en utilisant des références absolues de cellules avec le signe dollar ($) comme $B$1:$I$2.
    • En général, le valeur de la recherche est relative ou mixte en fonction de votre logique d'entreprise.

    Pour clarifier les choses, examinons de plus près la formule qui extrait les données d'une autre feuille :

    =HLOOKUP(B$1, Diamètres!$B$1:$I$2,2,FALSE)

    Dans la formule ci-dessus, nous utilisons absolu références de cellules ($B$1:$I$2) en tableau_réseau car elle doit rester constante lorsque la formule est copiée dans d'autres cellules.

    Pour valeur de la recherche (B$1), nous utilisons un mixte car nos valeurs de référence (noms de planètes) se trouvent sur la même ligne (ligne 1) mais dans des colonnes différentes (de B à I) et la référence de colonne doit changer en fonction de la position relative d'une cellule où la formule est copiée.

    Grâce à l'utilisation astucieuse des références de cellule, notre formule Hlookup fonctionne parfaitement pour plusieurs cellules :

    INDEX/MATCH - une alternative plus puissante au HLOOKUP d'Excel

    Comme vous le savez déjà, la fonction HLOOKUP d'Excel présente un certain nombre de limites, les plus importantes étant son incapacité à effectuer des recherches n'importe où, sauf sur la ligne la plus haute, et la nécessité de trier les valeurs lors d'une recherche par correspondance approximative.

    Heureusement, il existe une alternative plus puissante et polyvalente à Vlookup et Hlookup dans Excel - la liaison des fonctions INDEX et MATCH, qui se résume à cette formule générique :

    INDEX ( où retourner une valeur de , MATCH ( valeur de consultation , où chercher , 0))

    En supposant que votre valeur de consultation se trouve dans la cellule B7, que vous recherchez une correspondance dans la ligne 2 (B2:I2) et que vous souhaitez renvoyer une valeur de la ligne 1 (B1:I1), la formule est la suivante :

    =INDEX(B1:I1,MATCH(B7,B2:I2,0))

    Dans la capture d'écran ci-dessous, vous pouvez voir 2 formules Hlookup qui recherchent dans la première et la deuxième ligne, et dans les deux cas INDEX MATCH fonctionne aussi bien.

    Pour une explication détaillée de la logique de la formule et d'autres exemples, veuillez consulter INDEX MATCH, une meilleure alternative à VLOOKUP.

    Comment faire une consultation de type h sensible à la casse dans Excel ?

    Comme nous l'avons mentionné au début de ce tutoriel, la fonction HLOOKUP d'Excel n'est pas sensible à la casse. Dans les cas où la casse des caractères a de l'importance, vous pouvez utiliser la fonction EXACT, qui compare exactement les cellules, et la placer dans la formule INDEX MATCH présentée dans l'exemple précédent :

    INDEX ( pour retourner une valeur de , MATCH(TRUE, EXACT( rangée à rechercher , valeur de consultation) , 0))

    En supposant que votre valeur de consultation se trouve dans la cellule B4, que la plage de consultation est B1:I1 et que la plage de retour est B2:I2, la formule prend la forme suivante :

    =INDEX(B2:I2, MATCH(TRUE, EXACT(B1:I1,B4),0))

    Remarque importante ! Il s'agit d'une formule de tableau et vous devez donc appuyer sur Ctrl + Shift + Enter pour la compléter.

    L'exemple ci-dessus illustre ma méthode préférée, mais pas la seule, pour réaliser une Vlookup sensible à la casse dans Excel. Si vous êtes curieux de connaître d'autres techniques, consultez ce tutoriel : 4 façons de réaliser une Vlookup sensible à la casse dans Excel. Je pense que vous n'aurez aucun problème à reconstruire les formules Vlookup pour une recherche horizontale.

    Les 10 principales raisons pour lesquelles le HLOOKUP d'Excel ne fonctionne pas

    Vous savez déjà que Hlookup est une fonction de recherche très utile et puissante dans Excel. C'est aussi une fonction délicate, et en raison de ses nombreuses spécificités, les erreurs #N/A, #VALUE ou #REF sont fréquentes. Si votre formule HLOOKUP ne fonctionne pas correctement, il est fort probable que ce soit pour l'une des raisons suivantes.

    1) HLOOKUP dans Excel ne peut pas regarder au-dessus de lui-même.

    Même si vous oubliez tous les autres détails concernant la recherche horizontale dans Excel, n'oubliez pas ce point essentiel : la recherche horizontale ne peut être effectuée que dans l'intervalle de temps entre deux recherches. rangée supérieure Si vos valeurs de référence se trouvent dans une autre ligne, une erreur N/A est renvoyée. Pour surmonter cette limitation, utilisez une formule INDEX MATCH.

    2. correspondance approximative vs correspondance exacte

    Lorsque vous effectuez une recherche dans Excel, qu'elle soit horizontale (Hlookup) ou verticale (Vlookup), dans la plupart des cas, vous recherchez un élément particulier et vous avez donc besoin d'une correspondance exacte. Lorsque vous effectuez une recherche avec une correspondance approximative ( recherche de plage défini à TRUE ou omis), n'oubliez pas de trier les valeurs de la première ligne dans l'ordre croissant.

    Pour plus d'informations et d'exemples de formules, veuillez consulter le document Excel Hlookup avec correspondance approximative et exacte.

    3. la référence du tableau change lors de la copie de la formule.

    Lorsque vous utilisez plusieurs HLOOKUP pour récupérer des informations sur une rangée de valeurs de consultation, vous devez verrouiller le paramètre tableau_réseau comme indiqué dans Références de cellule absolues et relatives dans les formules Hlookup.

    4. insertion ou suppression d'une nouvelle ligne

    Pour comprendre pourquoi l'insertion d'une nouvelle ligne peut interrompre une formule Hlookup, rappelez-vous comment Excel HLOOKUP obtient des informations sur la valeur de consultation - sur la base du numéro d'index de ligne que vous spécifiez.

    Supposons que vous vouliez obtenir les chiffres de vente basés sur l'ID du produit. Ces chiffres se trouvent à la ligne 4, vous tapez donc 4 dans le champ numéro_index_rang Mais après l'insertion d'une nouvelle ligne, celle-ci devient la ligne 5... et votre Hlookup ne fonctionne plus. Le même problème peut se produire lors de la suppression d'une ligne existante de la table.

    La solution est soit de verrouiller le tableau pour empêcher vos utilisateurs d'insérer de nouvelles lignes, soit d'utiliser INDEX & ; MATCH au lieu de Hlookup. Dans les formules Index/Match, vous spécifiez les lignes à rechercher et à renvoyer sous forme de références de plage, et non de numéros d'index, et Excel est suffisamment intelligent pour ajuster ces références à la volée. Ainsi, vous êtes libre de supprimer ou d'insérer autant de colonnes et de lignes que vous le souhaitez sans que cela ne soit nécessaire.de se soucier de la mise à jour de chaque formule de votre feuille de calcul.

    5. les doublons dans le tableau

    La fonction HLOOKUP d'Excel ne peut renvoyer qu'une seule valeur, à savoir la première valeur du tableau qui correspond à la valeur de recherche.

    Si votre table contient quelques enregistrements identiques, choisissez l'une des solutions suivantes qui répond le mieux à vos besoins :

    • Supprimez les doublons en utilisant les moyens d'Excel ou notre outil de suppression des doublons.
    • Si les enregistrements en double doivent être conservés dans l'ensemble de données, créez un tableau croisé dynamique pour regrouper et filtrer vos données comme vous le souhaitez.
    • Utilisez une formule de tableau pour extraire toutes les valeurs en double dans la plage de consultation.

    6. espaces supplémentaires

    Lorsque votre formule Hlookup, manifestement correcte, renvoie un grand nombre d'erreurs #N/A, vérifiez que votre tableau et votre valeur de consultation ne contiennent pas d'espaces supplémentaires. Vous pouvez rapidement supprimer les espaces de début, de fin et les espaces intermédiaires en utilisant la fonction TRIM d'Excel ou notre outil Cell Cleaner.

    7. chiffres formatés comme du texte

    Les chaînes de texte qui ressemblent à des chiffres sont une autre pierre d'achoppement pour les formules Excel. La description détaillée de ce problème et les solutions possibles sont décrites dans Pourquoi les formules Excel peuvent cesser de fonctionner.

    8. la valeur de la recherche dépasse 255 caractères

    Toutes les fonctions de recherche d'Excel ne fonctionnent que si la valeur de recherche ne dépasse pas 255 caractères. Une valeur de recherche plus longue entraîne l'erreur #VALUE ! La formule INDEX /MATCH étant exempte de cette limitation, utilisez-la pour surmonter cet obstacle.

    9. le chemin d'accès complet au classeur de recherche n'est pas spécifié.

    Si vous effectuez une consultation à partir d'un autre classeur, n'oubliez pas de fournir le chemin d'accès complet à ce dernier. Vous trouverez quelques exemples de formules ici : Comment effectuer une consultation à partir d'une autre feuille de calcul ou d'un autre classeur.

    10. arguments erronés

    Il a déjà été souligné plus d'une fois que HLOOKUP est une fonction exigeante qui doit être traitée avec beaucoup de précautions. Voici quelques erreurs les plus courantes causées par la fourniture d'arguments incorrects :

    • Si row_index_num est inférieur à 1, la fonction HLOOKUP renvoie l'erreur #VALUE !
    • Si row_index_num est supérieur au nombre de lignes dans table_array, une erreur #REF ! est renvoyée.
    • Si vous effectuez une recherche avec correspondance approximative et que votre valeur de recherche est inférieure à la plus petite valeur de la première ligne de table_array, l'erreur #N/A est renvoyée.

    Voilà donc comment utiliser HLOOKUP dans Excel. J'espère que ces informations vous seront utiles. Je vous remercie de votre lecture et j'espère vous voir sur notre blog la semaine prochaine !

    Télécharger le cahier d'exercices

    Exemples de formules Excel HLOOKUP

    Michael Brown est un passionné de technologie passionné par la simplification de processus complexes à l'aide d'outils logiciels. Avec plus d'une décennie d'expérience dans l'industrie de la technologie, il a perfectionné ses compétences dans Microsoft Excel et Outlook, ainsi que dans Google Sheets et Docs. Le blog de Michael est dédié au partage de ses connaissances et de son expertise avec les autres, en fournissant des conseils et des tutoriels faciles à suivre pour améliorer la productivité et l'efficacité. Que vous soyez un professionnel chevronné ou un débutant, le blog de Michael offre des informations précieuses et des conseils pratiques pour tirer le meilleur parti de ces outils logiciels essentiels.