Les HLOOKUP n'est peut-être pas aussi connue et utilisée que son homologue, VLOOKUP de la fonction VLOOKUP. Cependant, les deux fonctions sont identiques, la fonction HLOOKUP étant simplement la version transposée de VLOOKUP. Elle est l'abréviation de ‘Horizontal Lookup’ (recherche horizontale). La fonction recherche une valeur clé dans la première ligne de la plage d'entrée et renvoie la valeur d'une cellule spécifiée dans la colonne où elle a trouvé la clé. Elle produit une erreur si la clé n'existe pas dans la plage.
Syntaxe
HLOOKUP(search_key, range, index, [is_sorted])
- clé_de_recherche - est la valeur que la fonction HLOOKUP utilise pour effectuer la recherche.
- gamme - est la référence à la plage de cellules sur laquelle nous effectuons une recherche. L'application Google Sheets recherche la clé dans la première ligne de la plage.
- index - il s'agit de l'indice de ligne de la cellule dans l'intervalle, dont la valeur est renvoyée par la fonction. L'indice de la première ligne de l'intervalle gamme est de 1, le deuxième dans le gamme est 2 et ainsi de suite. Par exemple, si nous entrons 3 dans ce paramètre, la fonction HLOOKUP renvoie la valeur de la cellule de la troisième ligne et de la colonne dans laquelle elle trouve le clé_de_recherche.
- [is_sorted] - est un paramètre facultatif qui est VRAI par défaut. Il indique si la première ligne du gamme est trié par ordre croissant ou non. Si ce n'est pas le cas, nous devons spécifier la valeur FALSE.
Comment utiliser la fonction HLOOKUP
Numéros de la première ligne
Essayons quelques exemples. Voici un ensemble de données de test contenant les chiffres de vente d'un groupe de vendeurs. Je répondrai à diverses questions d'analyse de rentabilité en utilisant HLOOKUP. Vous verrez comment la valeur du paramètre index affecte le résultat.
Je choisirai ici un premier exemple pour décortiquer et m'assurer que vous comprenez l'utilisation de base de la fonction. La formule =Hlookup(11876,B1:K3,2,False) est utilisé pour indiquer à la fonction de rechercher la valeur 11 876 dans la plage de cellules allant de B1 à K3. Une fois la valeur trouvée, la fonction doit renvoyer les données de la deuxième ligne de la colonne dans laquelle elle a trouvé les données. La mention Faux indique que les données ne sont pas triées et que vous souhaitez une correspondance exacte avec la clé de recherche.
Il y a une chose intéressante à noter dans le dernier cas (ligne # 11 ci-dessus). La fonction a renvoyé une erreur #N/A. Pourquoi ? Comme expliqué dans la description de l'erreur, parce que le chiffre d'affaires $15000 n'existe pas dans la première ligne. Puisque j'ai spécifié que je voulais une correspondance exacte (en indiquant False pour le champ est_trié ), il ne peut pas renvoyer une valeur appropriée.
Le cas curieux de [is_sorted]
Dans les exemples, j'ai choisi FALSE pour le dernier paramètre, ce qui indique à la fonction de trouver une correspondance exacte avec la clé de recherche. C'est généralement ainsi que la fonction HLOOKUP est utilisée. Mais que se passe-t-il si vous utilisez True pour trouver une correspondance approximative ?
Voici deux exemples dans lesquels nous utilisons HLOOKUP pour trouver la personne ayant réalisé $12.000 de ventes. La première fonction utilise un est_trié de False, qui indique à la fonction de trouver une correspondance exacte. Étant donné qu'il n'existe pas de vendeur ayant réalisé exactement $12 000 ventes, la fonction renvoie une erreur.
Le deuxième exemple est identique, sauf qu'il utilise True à la place, ce qui indique à la fonction que les données sont triées et qu'elle doit trouver une correspondance approximative. La fonction tente alors de trouver le numéro de vente le plus proche de $12 000 et renvoie le nom du vendeur correspondant - Finch.
Remarquez que le vendeur le plus proche de $12 000 ventes est en fait Gary. La fonction HLOOKUP recherche une correspondance approximative en trouvant la valeur qui est la plus proche mais pas plus que la clé de recherche. Elle renvoie donc ici Finch, même si Gary est techniquement plus proche de la clé de recherche. Il s'agit d'une caractéristique importante dont il faut tenir compte, car elle peut avoir une incidence sur les résultats obtenus à l'aide de cette fonction !
Voici une note de la documentation officielle de la fonction HLOOKUP :
L'utilisation d'un type de tri incorrect peut entraîner le renvoi de valeurs erronées.
Cas d'utilisation : Chaînes triées dans la première ligne
Maintenant que vous vous êtes familiarisé avec la fonction, essayons un exemple d'ensemble de données dans lequel la première ligne contient des valeurs de chaîne triées, comme indiqué ci-dessous. Il y a deux exemples pour chacun des trois cas disponibles, mais avec une distinction de est_trié paramètre. Observez le comportement de la fonction HLOOKUP.
Vous pouvez constater que la valeur VRAIE ou FAUX de l'option est_trié n'affecte pas vraiment le comportement lorsqu'il trouve le paramètre clé_de_recherche dans la première ligne de la plage. Mais une évolution intéressante se produit lorsqu'il ne trouve pas de correspondance exacte pour l'élément clé_de_recherche. Dans le cas de FALSE (ligne # 12), il recherche une correspondance exacte. Mais dans le cas de VRAI (ligne # 13), il recherche une correspondance approximative et, au lieu de Greg, il renvoie les informations relatives à Gary. Ce comportement peut être souhaitable ou non en fonction de votre situation !
Cas d'utilisation : Chaînes non triées dans la première ligne
Les données pour ce cas sont essentiellement les mêmes que celles utilisées ci-dessus, sauf que la première ligne contient des chaînes non triées.
Contrairement à l'exemple précédent, l'utilisation des valeurs VRAI et FAUX pour le quatrième paramètre génère des résultats différents. Comme les données ne sont pas triées, la fonction ne peut pas donner une correspondance approximative précise. Lorsque les données ne sont pas triées, les résultats ne sont corrects que lorsque j'utilise FALSE pour le paramètre est_trié.
Quel est donc le résultat final ?
Ne mentez jamais à Google Sheets dans le paramètre is_sorted - si vous le faites, il vous le rendra !
Cas d'utilisation : Correspondances multiples dans la première ligne
Il peut arriver que vous rencontriez plusieurs occurrences de la même valeur dans la première ligne. Dans l'exemple ci-dessous, Barry apparaît deux fois. Que se passe-t-il si vous utilisez la fonction HLOOKUP dans un tel scénario ?
Vous avez peut-être remarqué qu'il choisit le premier Barry qu'il rencontre dans la liste et qu'il ne prend pas en compte le deuxième Barry.
Inconvénients de la fonction HLOOKUP
Cette fonction pose deux problèmes :
- Pour consulter clé_de_recherche, il utilise toujours la première ligne de l'entrée gamme-. Il n'est donc pas possible, avec la fonction HLOOKUP, de récupérer une valeur de cellule qui se trouve au-dessus de la ligne de recherche.
- La fonction n'est pas assez dynamique, en ce sens que l'insertion d'une ligne entre l'entrée gamme ne met pas automatiquement à jour l'index de la ligne.
Il existe une alternative qui résout les deux problèmes susmentionnés. Veuillez consulter l'explication de l'option Combinaison des fonctions INDEX et MATCH. Elle est expliquée dans le contexte de la fonction VLOOKUP, mais peut également être utilisée comme alternative à la fonction HLOOKUP.
Note de la rédaction: Il s'agit d'une version révisée d'un article précédent qui a été mis à jour pour plus de précision et d'exhaustivité.



