Cours
VLOOKUP() est une fonction Google Sheets qui recherche une valeur dans une colonne et renvoie la valeur correspondante d’une autre colonne sur la même ligne. Vous lui indiquez quoi chercher, où regarder, et elle vous renvoie l’information dont vous avez besoin.
Elle est particulièrement utile avec de grands jeux de données, lorsque chercher et faire les correspondances à la main prendrait trop de temps. Mais dès que vous devez relier deux tables via une valeur commune, VLOOKUP() est la fonction à privilégier.
Dans ce guide, vous verrez sa syntaxe, un mode d’emploi pas à pas, les causes de résultats incorrects, et quand préférer des alternatives comme INDEX MATCH() ou XLOOKUP().
Quelle est la syntaxe de VLOOKUP() dans Google Sheets ?
La syntaxe de VLOOKUP() est :
=VLOOKUP(search_key, range, index, [is_sorted])
Ici :
-
search_keyest la valeur à rechercher -
rangeest la table dans laquelle effectuer la recherche -
indexest le numéro de colonne depuis laquelle renvoyer le résultat -
[is_sorted]définit si vous voulez une correspondance exacte ou non
Comment faire un VLOOKUP() dans Google Sheets ?
Pour utiliser VLOOKUP() dans Google Sheets :
-
Déterminez la valeur à rechercher : un identifiant, un nom ou toute valeur unique.
-
Identifiez la plage de votre table : la colonne contenant la valeur recherchée doit être la première colonne de cette plage.
-
Choisissez la donnée à renvoyer : la colonne contenant le résultat (ex. : nom, prix, statut).
-
Saisissez la formule
VLOOKUP()dans une cellule : référencez la valeur recherchée, la plage et la colonne à renvoyer. -
Utilisez la correspondance exacte ou approximative (
FALSEouTRUE) : dans la plupart des cas, préférez l’exact pour éviter les erreurs (voir plus loin).
Si vous avez cette table :
|
A (ID) |
B (Name) |
|
101 |
George |
|
102 |
Sarah |
|
103 |
Lily |
Et que vous souhaitez trouver le nom associé à l’ID 102, utilisez :
=VLOOKUP(102, A2:B4, 2, FALSE)
Cela indique à Google Sheets de :
- Rechercher 102 dans la colonne A
- Renvoyer la valeur de la colonne B
- Utiliser une correspondance exacte
En résultat, vous obtiendrez Sarah.

Exemple de VLOOKUP(). Image de l’auteur.
Comment fonctionne VLOOKUP() (logique pas à pas)
VLOOKUP() suit un processus de recherche verticale simple. Elle commence toujours par la première colonne de la plage sélectionnée, puis parcourt vers le bas, ligne par ligne, jusqu’à la première correspondance.
Une fois trouvée, elle reste sur la même ligne, se déplace vers la colonne spécifiée et renvoie la valeur.
Étape par étape :
- Démarre dans la première colonne de la plage
- Parcourt la colonne vers le bas
- Trouve la première valeur correspondante
- Se déplace sur la même ligne
- Renvoye la donnée depuis la colonne spécifiée
Supposons que vous vouliez trouver l’intitulé de poste pour l’employé E1007. Utilisez la formule suivante :
=VLOOKUP("E1007", A:G, 5, FALSE)

VLOOKUP() dans Google Sheets. Image de l’auteur.
Cette formule :
-
Recherche
E1007dans la colonne A -
Se déplace sur la même ligne
-
Renvoye la colonne 5 (intitulé de poste)
-
Donne le résultat Software Engineer.
Remarque : VLOOKUP() ne recherche que de gauche à droite. Si votre colonne de recherche n’est pas la première de la plage, la fonction ne fonctionne pas. Il faut alors réorganiser vos données ou utiliser une autre fonction. Nous y reviendrons.
Correspondance exacte vs approximative dans VLOOKUP()
La correspondance exacte renvoie un résultat uniquement si la valeur est identique. La correspondance approximative renvoie la valeur la plus proche disponible lorsqu’il n’y a pas d’équivalent exact, généralement sur des données triées.
Dans VLOOKUP(), cela se règle avec le dernier argument. C’est celui que beaucoup se trompent, car TRUE paraît inoffensif et ne l’est pas.
- FALSE signifie correspondance exacte uniquement. Si la valeur n’existe pas, vous obtenez #N/A, ce qui est en fait utile.
- TRUE renvoie la valeur immédiatement inférieure si aucune correspondance exacte n’existe. Cela ressemble à un filet de sécurité, mais c’est surtout une mauvaise réponse silencieuse. Cela suppose aussi que vos données soient triées. Sinon, le résultat est indéfini.
Conseil : utilisez TRUE uniquement pour des barèmes (tranches d’imposition, fourchettes de notes, etc.) où l’approximation est voulue par conception. Pour le reste, utilisez FALSE.
Correspondance exacte (FALSE)
Cela indique à VLOOKUP() : « Ne renvoie un résultat que si vous trouvez exactement cette valeur. » Par exemple, la formule =VLOOKUP("E1005", A:G, 7, FALSE) recherche E1005, renvoie le salaire depuis la colonne 7, et donne 90000.
Si la valeur n’existe pas, vous obtenez une erreur #N/A.

Correspondance exacte dans VLOOKUP(). Image de l’auteur.
Correspondance approximative (TRUE)
Cela indique à VLOOKUP() : « Si vous ne trouvez pas de correspondance exacte, renvoyez la valeur immédiatement inférieure. » Cela peut sembler utile — parfois oui, parfois cela vous donne discrètement la mauvaise réponse.
Par exemple, E1011 n’existe pas dans notre jeu de données. Le dernier ID employé est E1010. Donc, avec la formule =VLOOKUP("E1011", A:G, 7, TRUE), VLOOKUP() ne renverra pas d’erreur. Elle renverra la valeur pour la correspondance inférieure la plus proche, soit E1010. La cellule affichera 88000.
Ainsi, même si E1011 est absent, VLOOKUP() renvoie un résultat car TRUE autorise l’approximation.

Correspondance approximative dans VLOOKUP(). Image de l’auteur.
Imaginez maintenant que les données ne soient plus triées et que je saisis un ID employé indisponible dans la formule, comme ceci : =VLOOKUP("E1011", A:G, 7, TRUE).
Cette fois, la formule renvoie un salaire incorrect car la colonne de recherche n’est pas triée et la correspondance approximative dépend de données triées.

La correspondance approximative de VLOOKUP() génère une erreur avec une liste non triée. Image de l’auteur.
Erreurs courantes avec VLOOKUP() et comment les corriger
Voici les problèmes que vous rencontrerez le plus souvent avec VLOOKUP() et comment les résoudre :
Erreur #N/A
Une erreur #N/A signifie que VLOOKUP() n’a pas trouvé la valeur demandée.
Par exemple, avec cette formule : =VLOOKUP("E9999", A:G, 7, FALSE)
Si E9999 n’est pas dans la première colonne de la plage, la formule renvoie #N/A.
Cela peut aussi arriver si la valeur est saisie différemment dans la feuille (espaces en trop, format texte, etc.).
Correctifs :
-
Vérifiez que la valeur existe dans la première colonne de la plage
-
Utilisez de préférence des références de cellule plutôt que de taper la valeur à la main
-
Ajoutez des guillemets si vous codez une valeur texte en dur
-
Supprimez les espaces en début ou fin de chaîne
-
N’utilisez
FALSEque lorsque vous avez besoin d’une correspondance exacte
Mauvais index de colonne
L’index de colonne indique à VLOOKUP() dans quelle colonne renvoyer la valeur au sein de la plage choisie. Si le numéro est trop grand, la formule renvoie #REF!.
Ainsi, =VLOOKUP("E1005", A:G, 8, FALSE) renvoie #REF! car la plage A:G ne compte que 7 colonnes.

Mauvais index de colonne : erreur. Image de l’auteur.
Vous pouvez aussi obtenir un mauvais résultat si le numéro de colonne est valide mais ne pointe pas vers la bonne colonne.
Par exemple :
=VLOOKUP("E1005", A:G, 5, FALSE)
Ici, cela renvoie l’intitulé de poste, pas le salaire.
Correctifs :
- Comptez les colonnes à partir de la première colonne de la plage sélectionnée
- Vérifiez que le numéro de colonne correspond bien à la valeur attendue
- Assurez-vous que la colonne existe dans la plage
Problèmes de correspondance approximative
Avec TRUE, VLOOKUP() recherche la valeur immédiatement inférieure plutôt qu’une correspondance exacte.
Si vous saisissez =VLOOKUP("E1011", A:G, 7, TRUE) et qu’il n’y a pas de E1011 dans le jeu de données, au lieu d’une erreur, la formule renverra 88000, qui appartient à E1010.
Le résultat peut sembler juste, mais ce n’est pas une correspondance exacte.
Correctifs :
-
Utilisez
FALSElorsque vous avez besoin d’un résultat exact -
N’utilisez
TRUEque si les données sont triées et qu’un résultat approximatif est acceptable
Problèmes de plage
VLOOKUP() peut cesser de fonctionner si la plage sélectionnée ne correspond pas à ce que la formule tente de faire.
Par exemple, =VLOOKUP("E1005", A:C, 7, FALSE) renvoie #REF! car la plage A:C n’a que 3 colonnes, tandis que la formule demande la colonne 7.
Autre cas fréquent : la colonne de recherche n’est pas la première de la plage.
Regardez cette formule :
=VLOOKUP("E1005", B:G, 7, FALSE)
Ici, la première colonne de la plage est B, pas A. Comme VLOOKUP() ne recherche que dans la première colonne de la plage, elle ne trouve pas E1005.
Correctifs :
- Assurez-vous que la colonne de recherche est la première de la plage
- Vérifiez que la plage inclut la colonne à renvoyer
- Revérifiez la plage sélectionnée avant de finaliser la formule

Mauvaise plage : erreur. Image de l’auteur.
VLOOKUP() entre feuilles dans Google Sheets
Vous pouvez utiliser VLOOKUP() pour récupérer des données depuis une autre feuille en ajoutant le nom de la feuille avant la plage.
Le format est le suivant :
=VLOOKUP(search_key, SheetName!range, index, FALSE)
La partie SheetName! indique à la formule dans quelle feuille chercher.
Supposons que vos données soient dans une feuille nommée Employees, et que vous travailliez dans une autre feuille. Pour trouver le service de l’employé E1005, utilisez :
=VLOOKUP("E1005", Employees!A:G, 4, FALSE)
Ici :
-
Employees!A:Gcherche dans la feuille Employees -
4renvoie la colonne Department
La formule renvoie le service pour E1005.

Référence à une autre feuille avec VLOOKUP(). Image de l’auteur.
Lorsque les noms de feuille contiennent des espaces
Si le nom de la feuille contient des espaces, encadrez-le d’apostrophes comme ceci :
=VLOOKUP("E1005", 'Employee Data'!A:G, 7, FALSE)
Sans les apostrophes, la formule ne fonctionnera pas.
VLOOKUP() vs. INDEX MATCH dans Google Sheets
VLOOKUP() recherche dans une colonne fixe et renvoie des données par position, alors que INDEX MATCH retrouve des valeurs via des références de ligne et de colonne, ce qui reste robuste même si la structure du tableau change.
VLOOKUP : rapide à écrire, facile à casser
Vous l’avez vu : =VLOOKUP("E1005", A:G, 7, FALSE) trouve le salaire de E1005.
Cela fonctionne bien lorsque :
- La colonne de recherche est à gauche
- La structure du tableau ne change pas
Les problèmes commencent lorsque la structure évolue.
Par exemple :
- Vous insérez une nouvelle colonne
- La colonne salaire passe de 7 à 8
- La formule utilise toujours 7
Elle renvoie alors une mauvaise valeur sans afficher d’erreur.
INDEX MATCH : plus long, mais stable
Voici la même recherche avec INDEX MATCH :
=INDEX(G:G, MATCH("E1005", A:A, 0))
Ici :
-
MATCH()trouve la position deE1005dans la colonne A -
INDEX()renvoie la valeur correspondante dans la colonne G
Cette méthode ne dépend pas des numéros de colonne : elle continue de fonctionner même si le tableau change.

INDEX MATCH gère mieux les données que VLOOKUP(). Image de l’auteur.
Là où c’est vraiment utile
Utilisez INDEX MATCH lorsque vos données ne sont pas organisées de gauche à droite. Supposons que la colonne A contienne les ID employés et que la colonne C contienne les noms de famille. Si vous souhaitez rechercher par nom de famille et renvoyer l’ID employé, il s’agit d’une recherche de droite à gauche.
VLOOKUP() ne peut pas le faire sans modifier le tableau, mais INDEX MATCH le gère directement :
=INDEX(A:A, MATCH("Wilson", C:C, 0))
Pas besoin de réorganiser vos données.
VLOOKUP() vs XLOOKUP dans Google Sheets
VLOOKUP() fonctionne dans une structure figée et présente des limites, tandis que XLOOKUP() autorise les recherches dans toutes les directions. Ajoutée à Google Sheets en 2022, c’est désormais souvent la meilleure option.
Disons que vous souhaitez trouver l’ID employé à partir du nom de famille Wilson. C’est une recherche de droite à gauche. VLOOKUP() ne peut pas la gérer sans réorganiser le tableau, mais XLOOKUP() oui :
=XLOOKUP("Wilson", C:C, A:A)
Cette formule :
- Recherche le nom de famille (colonne C)
- Renvoye l’ID employé (colonne A)

XLOOKUP() dans Google Sheets. Image de l’auteur.
XLOOKUP() est préférable car elle :
- Fonctionne dans toutes les directions (gauche ou droite)
- Ne dépend pas des numéros de colonne
- Renvoie par défaut des correspondances exactes
- Permet de définir une sortie personnalisée si aucune correspondance n’est trouvée
Pour conclure
Si je ne devais donner qu’un conseil : utilisez VLOOKUP() dans un vrai tableur qui compte pour vous, pas dans une feuille d’essai. Les erreurs n’ont pas la même portée quand les données sont importantes. Vous vous souviendrez pourquoi FALSE existe la première fois que TRUE attribue silencieusement le mauvais salaire à quelqu’un.
Une fois à l’aise, testez les différents types de correspondance, ajustez vos plages et voyez quand les résultats cessent d’avoir du sens. C’est souvent là qu’une option plus flexible comme INDEX MATCH() ou XLOOKUP() s’impose.
Je suis un stratège du contenu qui aime simplifier les sujets complexes. J'ai aidé des entreprises comme Splunk, Hackernoon et Tiiny Host à créer un contenu attrayant et informatif pour leur public.
FAQ
Puis-je utiliser `VLOOKUP()` avec des jokers (wildcards) ?
Oui. Vous pouvez utiliser * (n’importe quel nombre de caractères) et ? (un seul caractère) dans la clé de recherche avec la correspondance exacte.
Par exemple, =VLOOKUP("E10*", A:G, 2, FALSE)
`VLOOKUP()` peut-elle gérer des recherches sensibles à la casse dans Google Sheets ?
Non. VLOOKUP() n’est pas sensible à la casse. Elle traite « apple » et « Apple » comme la même valeur. Pour des recherches sensibles à la casse, utilisez des fonctions comme FILTER() ou EXACT().
Pourquoi `VLOOKUP()` renvoie-t-elle parfois des résultats vides ?
Cela arrive lorsque la cellule trouvée est vide : la formule a bien fonctionné, mais il n’y a aucune donnée à afficher.
`VLOOKUP()` peut-elle référencer des plages nommées ?
Oui. Au lieu d’utiliser A:G, vous pouvez nommer votre plage (par ex. : EmployeeData) et l’utiliser dans la formule.
Voici un exemple :
=VLOOKUP("E1005", EmployeeData, 7, FALSE)
