VLOOKUP sur Google sheets
VLOOKUP est une fonction de tableur avancée, mais très utile, qui existe sur Google Sheets, Microsoft Excel, ou encore LibreOffice Calc. Elle permet de récupérer des données dans une plage, que ce soit dans une même feuille, dans une autre feuille du classeur, ou même dans un autre classeur.
La fonction prend en compte 4 paramètres :
- La clé de recherche.
- La plage de recherche. La fonction va rechercher la clé dans la première colonne de la plage spécifiée. C’est pourquoi on parle de recherche verticale.
- L’index de la colonne de la plage. Pour mieux visualiser, il s’agit du décalage horizontal par rapport à la clé qu’il faut faire pour aller chercher la valeur souhaitée.
- L’exactitude de la correspondance. Dans la grande majorité des cas, vous cherchez une correspondance exacte, et non pas approximative. Pour cela, il faut indiquer
FALSE
.
Avec mon article, j’aimerais vous expliquer un peu plus que les paramètres de base de la fonction, en vous montrant des applications un peu plus complexes que ce que l’on peut trouver dans la documentation officielle.
Utliser VLOOKUP au sein d’une même feuille Google Sheets
Cet usage de la fonction n’est pas forcément le plus intéressant, mais il peut certainement servir dans certains cas. Dans cet exemple, nous voulons retrouver l’âge de la personne indiquée en E1
.
- La clé de recherche est la valeur de
E1
, en l’occurrence Edith. - La plage de recherche s’étend de
A2
àB7
. - VLOOKUP recherche la clé dans la première colonne de la plage de recherche. Le troisième paramètre de la fonction, en l’occurrence
2
, correspond à l’index (ou numéro) de la colonne dans laquelle on va aller chercher la cellule souhaitée au sein de la plage. Ainsi, la fonction trouve la clé Edith en 7e ligne, et renvoie la valeur à droite située dans la colonne 2 de la plage, en l’occurrence 25 ans. - La quatrième paramètre de la fonction est
FAUX
, car on recherche une correspondance exacte. AvecVRAI
, la fonction va vous retourner n’importe quoi.
Dans cette feuille Google Sheets, l’emploi de VLOOKUP n’a pas grand intérêt, car on pourrait trouver l’âge d’Edith à l’aide d’un simple CTRL + F. Les choses intéressantes commencent dans la suite de l’article.
Vlookup sur une feuille différente dans un même classeur
Nous avons vu les paramètres basiques de VLOOKUP sur Google Sheets. Toutefois, la fonction prend vraiment tout son sens quand vous avez besoin d’établir des liaisons entre plusieurs feuilles. Si vous avez déjà fait du SQL, cela vous évoquera peut-être les jointures entre deux tables, réalisées avec une clé étrangère, toute proportion gardée.
Maintenant, nous avons à notre disposition deux feuilles.
Dans la feuille produit_prix nous avons une liste de produits accompagnée de leurs prix.
Dans la feuille produit_marque, les articles et leurs marques.
Vous remarquerez qu’il n y a pas forcément tout à fait les même produits dans les deux tables. Là est tout l’intérêt de la fonction.
Sur notre feuille produit_prix, nous cherchons à ajouter en plus les marques. Imaginons un catalogue de plusieurs centaines de produits : impossible de le faire à la main. C’est pourquoi nous allons utiliser VLOOKUP et indiquer en deuxième paramètre une plage de recherche située dans la seconde feuille produit_marque de notre classeur Google Sheets. Heureusement, ce n’est pas bien compliqué, la syntaxe est la suivante :
- Indiquez d’abord le nom de la feuille, suivi d’un point d’interrogation.
- Spécifiez la plage. Pour vous faciliter la vie, vous pouvez indiquer les colonnes
A:B
, ce qui permet d’éviter d’indiquer une ligne de départ et une ligne de fin. - En résumé, la syntaxe est la suivante
feuille!A:X
Pour le reste des paramètres de la fonction, le principe ne change pas. Écrivez votre formule dans la cellule C2
, puis utilisez la poignée de recopie, et le tour et joué.
Le #N/A (pour Not Available) signifie que la clé n’a pas été trouvée dans la seconde feuille. En effet, les produits n’y étaient pas tous présents. C’est la force de la fonction VLOOKUP, car elle permet d’établir des liens entre des feuilles qui n’ont pas toutes les données en commun. Sans cela, il faudrait fournir un gros travail manuel pour tout trier.
Vlookup sur un autre classeur Google Sheets
Avec VLOOKUP, vous n’êtes pas limité à des recherches à l’intérieur du même classeur Google Sheets. Si dans certains cas, il est possible de faire une copie d’une feuille dans votre propre classeur, ce n’est pas toujours une option. En effet, dans le cas d’une feuille régulièrement mise à jour par quelqu’un d’autre que vous, il est préférable d’aller puiser directement dedans, plutôt que de faire une copie manuelle à intervalles réguliers.
Pour ce genre d’application, il faut utiliser la fonction IMPORTRANGE
, qui permet d’accéder à une plage d’un autre classeur, situé à un autre URL.
- Le premier paramètre de
IMPORTRANGE
est l’URL du classeur. Attention, copiez l’URL jusqu’au /edit?xxx non inclus, et non pas l’intégralité de l’URL. - En deuxième paramètre, indiquez la feuille, puis la plage comme nous l’avons fait dans l’exemple précédent.
- Attention, les deux paramètres de la fonction sont entre guillemets.
Si nous reprenons l’exemple précédent, à cela près que la feuille produit_marque est située dans un autre classeur, voilà ce que nous obtenons :
Application de Vlookup et limitations
VLOOKUP vous servira dans de nombreux domaines. Par exemple, en SEO, on entend beaucoup parler des différentes techniques d’optimisation on-page, de sitemaps, de backlinks, etc. Mais bien souvent, le travail commence à l’aide de classeurs Google Sheets interminables, contenant des centaines voir des milliers d’URL ! Ainsi VLOOKUP vous permettra d’agréger des données au même endroit, et servira également à trouver des éléments manquants.
La fonction est utile par bien des aspects, toutefois sa principale limitation est l’impossibilité de récupérer des valeurs à gauche de la clé de recherche. En effet, il n’est pas toujours possible de réagencer les colonnes comme on le désire. De plus, en les réorganisant, vous risquez de casser d’éventuelles fonctions VLOOKUP situées à d’autres endroits. Dans ces cas plus complexe, la fonction trouve ses limites.
Toutefois, l’emploi conjoint des fonctions INDEX
et MATCH
de Google Sheets permet de dépasser les limitations imposées par VLOOKUP, bien qu’elles soient un peu plus compliquées à mettre en œuvre.