Téléchargez l'exemple de classeur
Ce didacticiel montre comment utiliser le Fonction RECHERCHEH Excel dans Excel pour rechercher une valeur.
Présentation de la fonction RECHERCHEH
La fonction HLOOKUP Hlookup signifie recherche horizontale. Il recherche une valeur dans la première ligne d'un tableau. Renvoie ensuite une valeur à un nombre spécifié de lignes en dessous de la valeur trouvée. C'est la même chose qu'un vlookup, sauf qu'il recherche les valeurs horizontalement au lieu de verticalement.
(Remarquez comment les entrées de formule apparaissent)
Syntaxe et entrée de la fonction RECHERCHEH :
1 | =HLOOKUP(lookup_value,table_array,row_index_num,range_lookup) |
valeur_recherche - La valeur que vous souhaitez rechercher.
tableau_tableau -La table à partir de laquelle récupérer les données.
num_index_ligne - Le numéro de ligne à partir duquel récupérer les données.
range_lookup -[facultatif] Un booléen pour indiquer une correspondance exacte ou une correspondance approximative. Par défaut = TRUE = correspondance approximative.
Qu'est-ce que la fonction RECHERCHEH ?
En tant que l'une des fonctions les plus anciennes dans le monde des feuilles de calcul, la fonction RECHERCHEH est utilisée pour faire Hhorizontal Recherches. Il a quelques limitations qui sont souvent surmontées avec d'autres fonctions, telles que INDEX/MATCH. De plus, la plupart des tableaux sont construits de manière verticale, mais il est parfois utile de rechercher horizontalement.
Exemple de base
Regardons un échantillon de données d'un carnet de notes. Nous aborderons plusieurs exemples d'extraction d'informations pour des étudiants spécifiques.
Si nous voulons trouver dans quelle classe se trouve Bob, nous écrirons la formule :
1 | =RECHERCHEH("Bob", A1:E3, 2, FAUX) |
Les choses importantes à retenir sont que l'élément que nous recherchons (Bob), doit être dans la première ligne de notre plage de recherche (A1:E3). Nous avons dit à la fonction que nous voulons renvoyer une valeur du 2sd ligne de la plage de recherche, qui dans ce cas est la ligne 2. Enfin, nous avons indiqué que nous voulions faire un correspondance exacte en plaçant False comme dernier argument. Ici, la réponse sera « Lecture ».
Astuce latérale : Vous pouvez également utiliser le nombre 0 au lieu de False comme argument final, car ils ont la même valeur. Certaines personnes préfèrent cela car c'est plus rapide à écrire. Sachez simplement que les deux sont acceptables.
Données décalées
Pour apporter des précisions à notre premier exemple, l'élément de recherche ne doit pas nécessairement se trouver dans la ligne 1 de votre feuille de calcul, mais uniquement dans la première ligne de votre plage de recherche. Utilisons le même ensemble de données :
Maintenant, trouvons la note pour la classe de sciences. Notre formule serait
1 | =HRECHERCHE("Science", A2:E3, 2, FAUX) |
Il s'agit toujours d'une formule valide, car la première ligne de notre plage de recherche est la ligne 2, où notre terme de recherche "Science" sera trouvé. Nous retournons une valeur du 2sd ligne de la plage de recherche, qui dans ce cas est la ligne 3. La réponse est alors "A-".
Utilisation des caractères génériques
La fonction RECHERCHEH prend en charge l'utilisation des caractères génériques « * » et « ? » lors des recherches. Par exemple, disons que nous avions oublié comment épeler le nom de Frank et que nous voulions simplement rechercher un nom qui commence par "F". On pourrait écrire la formule
1 | =HRECHERCHE("F*", A1:E3, 2, FAUX) |
Cela permettrait de trouver le nom Frank dans la colonne E, puis de renvoyer la valeur de 2sd rangée relative. Dans ce cas, la réponse sera « Science ».
Correspondance non exacte
La plupart du temps, vous voudrez vous assurer que le dernier argument de RECHERCHEH est False (ou 0) afin d'obtenir une correspondance exacte. Cependant, il arrive parfois que vous recherchiez une correspondance non exacte. Si vous avez une liste de données triées, vous pouvez également utiliser RECHERCHEH pour renvoyer le résultat de l'élément qui est soit le même, soit le plus petit suivant. Ceci est souvent utilisé lorsqu'il s'agit de nombres croissants, comme dans un tableau d'impôts ou des primes de commission.
Supposons que vous souhaitiez trouver le taux d'imposition pour un revenu saisi dans la cellule H2. La formule en H4 peut être :
1 | =HRECHERCHE(H2, B1:F2, 2, VRAI) |
La différence dans cette formule est que notre dernier argument est « True ». Dans notre exemple spécifique, nous pouvons voir que lorsque notre individu entre un revenu de 45 000 $, il aura un taux d'imposition de 15 %.
Noter: Bien que nous recherchions généralement une correspondance exacte avec False comme argument, vous oubliez de spécifier le 4e dans un HLOOKUP, la valeur par défaut est True. Cela peut vous amener à obtenir des résultats inattendus, en particulier lorsque vous traitez des valeurs de texte.
Ligne dynamique
HLOOKUP vous oblige à donner un argument indiquant la ligne à partir de laquelle vous souhaitez renvoyer une valeur, mais l'occasion peut survenir lorsque vous ne savez pas où se trouvera la ligne ou que vous souhaitez autoriser votre utilisateur à modifier la ligne à partir de laquelle revenir. Dans ces cas, il peut être utile d'utiliser la fonction MATCH pour déterminer le numéro de ligne.
Considérons à nouveau notre exemple de carnet de notes, avec quelques entrées en G2 et G4. Pour obtenir le numéro de colonne, nous pourrions écrire une formule de
1 | = CORRESPONDANCE(G2, A1:A3, 0) |
Cela essaiera de trouver la position exacte de « Grade » dans la plage A1:A3. La réponse sera 3. Sachant cela, nous pouvons le brancher sur une fonction HLOOKUP et écrire une formule dans G6 comme ceci :
1 | =HRECHERCHE(G4, A1:E3, CORRESPONDANCE(G2, A1:A3, 0), 0) |
Ainsi, la fonction MATCH sera évaluée à 3, et cela indiquera à RECHERCHEH de renvoyer un résultat à partir du 3rd rang dans la gamme A1:E3. Dans l'ensemble, nous obtenons alors le résultat souhaité de « C ». Notre formule est désormais dynamique en ce sens que nous pouvons modifier soit la ligne à regarder, soit le nom à rechercher.
Limites de RECHERCHEH
Comme mentionné au début de l'article, le plus gros inconvénient de RECHERCHEH est qu'il nécessite que le terme de recherche se trouve dans la colonne la plus à gauche de la plage de recherche. Bien qu'il existe quelques astuces sophistiquées que vous pouvez faire pour surmonter cela, l'alternative courante consiste à utiliser INDEX et MATCH. Ce combo vous donne plus de flexibilité, et cela peut parfois même être un calcul plus rapide.
RECHERCHEH dans Google Sheets
La fonction HLOOKUP fonctionne exactement de la même manière dans Google Sheets que dans Excel :
Notes complémentaires
Utilisez la fonction HLOOKUP pour effectuer une recherche horizontale. Si vous êtes déjà familiarisé avec la fonction RECHERCHEV, une RECHERCHEH fonctionne exactement de la même manière, sauf que la recherche est effectuée horizontalement au lieu de verticalement. Le HLOOKUP recherche une correspondance exacte (range_lookup = FALSE) ou la correspondance la plus proche qui est égale ou inférieure à lookup_value (range_lookup = TRUE, valeurs numériques uniquement) dans la première ligne de table_array. Il renvoie ensuite une valeur correspondante, n nombre de lignes en dessous de la correspondance.
Lorsque vous utilisez une RECHERCHEH pour trouver une correspondance exacte, vous définissez d'abord une valeur d'identification que vous souhaitez rechercher comme valeur valeur_recherche. Cette valeur d'identification peut être un SSN, un identifiant d'employé, un nom ou un autre identifiant unique.
Ensuite, vous définissez la plage (appelée la tableau_tableau) qui contient les identifiants de la ligne supérieure et les valeurs que vous souhaitez finalement rechercher dans les lignes inférieures. IMPORTANT : Les identifiants uniques doivent figurer dans la rangée du haut. Si ce n'est pas le cas, vous devez soit déplacer la ligne vers le haut, soit utiliser MATCH / INDEX au lieu de HLOOKUP.
Troisièmement, définissez le numéro de ligne (index_ligne) du tableau_tableau que vous souhaitez revenir. Gardez à l'esprit que la première ligne contenant les identifiants uniques est la ligne 1. La deuxième ligne est la ligne 2, etc.
Enfin, vous devez indiquer s'il faut rechercher une correspondance exacte (FAUX) ou la correspondance la plus proche (VRAI) dans le range_lookup. Si l'option de correspondance exacte est sélectionnée et qu'aucune correspondance exacte n'est trouvée, une erreur est renvoyée (#N/A). Pour que la formule renvoie un champ vide ou « introuvable », ou toute autre valeur au lieu de la valeur d'erreur (#N/A), utilisez la fonction SIERREUR avec RECHERCHEH.
Pour utiliser la fonction RECHERCHEH pour renvoyer un ensemble de correspondances approximatif : range_lookup = VRAI. Cette option n'est disponible que pour les valeurs numériques. Les valeurs doivent être triées par ordre croissant.
HLOOKUP Exemples en VBA
Vous pouvez également utiliser la fonction RECHERCHEH dans VBA. Taper:application.worksheetfunction.hlookup(lookup_value,table_array,row_index_num,range_lookup)
Exécuter les instructions VBA suivantes
123456 | Range("G2")=Application.WorksheetFunction.HLookup(Range("C1"),Range("A1:E3"),1)Range("H2")=Application.WorksheetFunction.HLookup(Range("C1"),Range("A1:E3"),2)Range("I2")=Application.WorksheetFunction.HLookup(Range("C1"),Range("A1:E3"),3)Range("G3")=Application.WorksheetFunction.HLookup(Range("D1"),Range("A1:E3"),1)Range("H3")=Application.WorksheetFunction.HLookup(Range("D1"),Range("A1:E3"),2)Plage("I3")=Application.WorksheetFunction.HLookup(Plage("D1"),Plage("A1:E3"),3) |
produira les résultats suivants
Pour les arguments de la fonction (lookup_value, etc.), vous pouvez soit les saisir directement dans la fonction, soit définir des variables à utiliser à la place.
Revenir à la liste de toutes les fonctions dans Excel