Les feuilles de calcul Google RECHERCHE recherche une clé dans une ligne ou une colonne et renvoie la valeur de la cellule d'une plage de résultats située à la position correspondant à la ligne ou à la colonne recherchée. Comme VLOOKUP et HLOOKUP, LOOKUP extrait des données spécifiques de votre feuille de calcul, mais avec deux différences distinctes :
- Il ne fonctionne que si les données de la colonne ou de la ligne sont triées. Heureusement, vous pouvez facilement corriger cela avec la fonction Fonction SORT.
- Alors que la formule VLOOKUP n'effectue qu'une recherche verticale (dans une colonne) et que la formule HLOOKUP n'effectue qu'une recherche horizontale (dans une ligne), la formule LOOKUP permet d'effectuer des recherches dans les deux sens.
La syntaxe de cette fonction est flexible et permet deux approches différentes.
Approche 1 : Fournir une plage de recherche et une plage de résultats distincts
LOOKUP(clé_de_recherche, plage_de_recherche, plage_de_résultat)
Cette approche consiste à rechercher une clé dans une plage de recherche (par exemple A3 : A12) et à renvoyer une valeur d'une plage de résultats à la même position (par exemple F3 : F12).
- search_key : la valeur recherchée par la fonction.
- search_range : l'endroit où la fonction recherchera la clé de recherche.
- result_range : l'endroit d'où la fonction tirera le résultat.
Approche 2 : Recherche unifiée et gamme de résultats
=LOOKUP(search_key, search_result_array)
Cette option vous permet de rechercher une clé dans la première ligne ou colonne et de renvoyer un résultat à partir de la dernière ligne ou colonne du tableau.
- search_result_array : l'intervalle à partir duquel vous souhaitez obtenir un résultat (par exemple A3 : G15).
- Il recherchera la première ligne ou colonne du tableau et extraira le résultat de la dernière ligne ou colonne.
- Si le tableau contient plus (ou le même nombre) de colonnes que de lignes, la recherche s'effectuera verticalement, en recherchant la première colonne et en extrayant un résultat de la dernière colonne.
- Si le tableau contient plus de lignes que de colonnes, la recherche s'effectuera horizontalement dans les lignes.
Comment utiliser la formule LOOKUP de Google Sheets ?
J'ai appliqué la fonction LOOKUP aux données ci-dessous et fourni quelques exemples d'utilisation.
Comment appliquer LOOKUP à une colonne
Il convient de noter que LOOKUP, contrairement à VLOOKUP et HLOOKUP, peut renvoyer des valeurs placées avant la colonne de recherche. Les lignes 4 et 5 en sont des exemples.
Vous constaterez également que pour l'option search_result_array, les résultats proviennent de la dernière ligne ou colonne de la plage. Vous pouvez le constater dans les exemples des lignes 3 et 6. Si vous souhaitez obtenir des résultats à partir d'une colonne ou d'une ligne située au milieu de la plage, vous devrez peut-être utiliser l'option VLOOKUP ou HLOOKUP formules.
Une hypothèse sous-jacente dans tous les exemples, des lignes 2 à 6, est que les colonnes sont triées par ordre croissant.
Que se passe-t-il si les données ne sont pas triées par ordre croissant ? Comment la formule LOOKUP se comporte-t-elle dans ce cas ?
J'ai fait l'expérience à la ligne 7. Vous remarquerez que la colonne Salaire n'est pas triée. Bien que la formule elle-même ait renvoyé une valeur, celle-ci est incorrecte. Pour que la formule LOOKUP fonctionne comme prévu, il faut que la colonne de recherche soit triée par ordre croissant.
Il peut arriver que la valeur de la recherche ne corresponde à aucune des valeurs de la colonne ou de la ligne de recherche (dernier exemple de la capture d'écran ci-dessus). Dans ce cas, la formule renvoie la valeur la plus proche de la correspondance. Cela n'a pas toujours un sens pratique, et il se peut que vous ayez besoin d'une correspondance exacte. C'est là que cette formule n'est pas à la hauteur et que vous devez vous fier à VLOOKUP et HLOOKUP pour obtenir une correspondance exacte. Contrairement à ces fonctions, la fonction LOOKUP n'a pas d'option pour les correspondances approximatives ou exactes.
Comment appliquer LOOKUP à une ligne
Ici, la même logique s'applique, mais vous sélectionnez des plages en tant que lignes et non en tant que colonnes. Vous pouvez utiliser l'une ou l'autre option syntaxique et, comme dans l'exemple précédent, vous devez au préalable trier vos données par ordre croissant.
Formule LOOKUP : Peut-il mal se comporter ?
Jusqu'à présent, j'ai expérimenté des colonnes de même hauteur ou des lignes de même largeur. Que se passe-t-il si je saisis une référence de taille différente dans le champ gamme_de_recherche et le result_range?
Vous pouvez constater dans les exemples que des plages de tailles différentes ne posent pas de problème tant que la position relative de la valeur appariée de l'élément gamme_de_recherche ne dépasse pas la taille du result_range.
Je n'obtiens une erreur que dans le dernier exemple, où la plage de résultats n'est pas assez grande pour correspondre au numéro de ligne de la clé de recherche dans la plage de recherche.
Dans les deuxième et troisième exemples, vous pouvez voir que je n'obtiens pas d'erreur, mais que les réponses sont fausses. Cela est dû au fait que la plage de recherche et la plage de résultats ne sont pas alignées.
Dans le deuxième exemple, la fonction détermine que l'élément recherché se trouve dans la cinquième ligne de la plage de recherche. Elle extrait ensuite le résultat de la cinquième ligne de la plage de résultats.
Les plages n'étant pas alignées, le résultat obtenu par la fonction est erroné. C'est également le cas dans le troisième exemple.
Comparaison de LOOKUP, VLOOKUP et HLOOKUP
J'ai expliqué quelques-unes des différences entre la fonction LOOKUP et ses homologues, les fonctions VLOOKUP et HLOOKUP. Maintenant que vous avez vu quelques exemples et que vous savez comment fonctionne la fonction LOOKUP, examinons les avantages et les inconvénients de chacune d'entre elles.
| RECHERCHE | VLOOKUP/HLOOKUP | |
| Peut fonctionner à l'horizontale et à la verticale | ✔️ | ❌ |
| Peut rechercher des colonnes ou des lignes quelle que soit leur position | ✔️ | ❌* |
| Fonctionne avec des données non triées | ❌ | ✔️ |
| Ne trouve que les correspondances exactes | ❌ | ✔️ |
| Peut donner des résultats erronés | ✔️** | ❌ |
* Les fonctions VLOOKUP et HLOOKUP exigent que la colonne de recherche soit la colonne la plus à gauche ou la ligne la plus en haut de l'ensemble de données.
** La fonction LOOKUP peut donner des résultats erronés si les données ne sont pas triées, au lieu d'afficher un message d'erreur.
Conseils pour l'utilisation de LOOKUP dans Google Sheets :
Lorsque vous utilisez le tableau_des_résultats_de_la_recherche si votre plage contient plus de colonnes que de lignes, LOOKUP effectue une recherche de gauche à droite sur la première ligne de la plage. Cela fonctionne comme une recherche horizontale.
Si votre clé_de_recherche n'est pas trouvée, la recherche utilisera la clé correspondante la plus proche dans l'intervalle avec une valeur inférieure. Par exemple, si votre clé de recherche est 7 mais que votre ensemble de données contient 4, 5, 6, 8 et 9, la recherche renverra 6.
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é.
