=VLOOKUP
Recherche et référence Intermédiaire Excel

VLOOKUP Excel : Guide Complet et Exemples Pratiques

Maîtrisez la fonction RECHERCHEV (VLOOKUP) d'Excel ! Découvrez sa syntaxe, des exemples concrets, les erreurs courantes et des astuces pour optimiser vos recherches.

Syntaxe

=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])

lookup_value : La valeur à rechercher dans la première colonne de la table. table_array : La plage de cellules où effectuer la recherche. col_index_num : Le numéro de la colonne dans table_array qui contient la valeur à retourner. [range_lookup] : Optionnel. TRUE pour une correspondance approximative (trié), FALSE pour une correspondance exacte.

Explication détaillée

VLOOKUP (RECHERCHEV) dans Excel : Le Guide Ultime

Introduction

VLOOKUP, ou RECHERCHEV en français, est l'une des fonctions les plus puissantes et les plus utilisées dans Excel. Elle permet de rechercher une valeur dans une colonne (la première) d'une table et de renvoyer une valeur correspondante d'une autre colonne de cette même table. C'est un outil indispensable pour la gestion de données, la recherche d'informations spécifiques et l'automatisation de tâches.

Syntaxe

La syntaxe de la fonction VLOOKUP est la suivante :

=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])

Où :

  • lookup_value : La valeur que vous voulez rechercher. Cela peut être un nombre, du texte ou une référence de cellule.
  • table_array : La plage de cellules dans laquelle la recherche sera effectuée. La première colonne de cette plage est celle où lookup_value sera recherchée.
  • col_index_num : Le numéro de la colonne dans table_array qui contient la valeur à retourner. La première colonne est la colonne 1.
  • [range_lookup] : Un argument optionnel qui spécifie si vous voulez une correspondance exacte ou approximative.
    • TRUE (ou omis) : Correspondance approximative. La première colonne de table_array doit être triée en ordre croissant.
    • FALSE : Correspondance exacte. Recommandé dans la plupart des cas.

Fonctionnement

  1. Recherche : VLOOKUP recherche la lookup_value dans la première colonne de la table_array.
  2. Correspondance : Si une correspondance est trouvée (selon le range_lookup), la fonction passe à l'étape suivante.
  3. Retour : VLOOKUP renvoie la valeur de la cellule située dans la même ligne que la correspondance trouvée, mais dans la colonne spécifiée par col_index_num.
  4. Pas de correspondance : Si aucune correspondance n'est trouvée, VLOOKUP renvoie une erreur (#N/A).

Cas d'utilisation

  • Recherche de prix d'un produit : Vous avez une liste de produits avec leurs prix et vous voulez retrouver le prix d'un produit spécifique.
  • Recherche du nom d'un employé à partir de son ID : Vous avez une base de données d'employés avec leurs ID et vous voulez retrouver le nom d'un employé en entrant son ID.
  • Recherche du taux de commission en fonction du volume de ventes : Vous avez une table qui définit les taux de commission en fonction du volume de ventes et vous voulez retrouver le taux de commission applicable à un vendeur.

Bonnes pratiques

  • Utiliser FALSE pour une correspondance exacte : Évitez les erreurs en utilisant FALSE pour vous assurer que vous obtenez une correspondance exacte.
  • Vérifier le tri de la première colonne (si range_lookup est TRUE) : Si vous utilisez une correspondance approximative, assurez-vous que la première colonne de table_array est triée en ordre croissant.
  • Utiliser des noms de plages : Définir des noms de plages pour table_array rend la formule plus lisible et plus facile à maintenir.
  • Gérer les erreurs : Utilisez la fonction IFERROR pour gérer les cas où VLOOKUP ne trouve pas de correspondance et renvoie une valeur plus significative (par exemple, "Produit non trouvé").

Combinaisons

  • VLOOKUP et IFERROR : =IFERROR(VLOOKUP(...), "Non trouvé") - Retourne "Non trouvé" si VLOOKUP ne trouve pas de correspondance.
  • VLOOKUP et MATCH : Pour rendre la formule plus dynamique, MATCH peut être utilisé pour déterminer le numéro de colonne (col_index_num).
  • VLOOKUP et INDEX : Bien qu'INDEX et MATCH soient souvent préférées, VLOOKUP reste une option valide et facile à comprendre pour des recherches simples.

Cas d'utilisation

Extraction de données de tables

Recherche d'informations dans des bases de données

Automatisation de rapports financiers

Gestion des stocks et des inventaires

Exemples pratiques

Recherche de prix d'un produit

Données : A1:A10 contient les noms des produits, B1:B10 contient les prix correspondants.

=VLOOKUP("Produit A", A1:B10, 2, FALSE)

Recherche le prix du "Produit A" dans la table A1:B10.

Résultat : Le prix du Produit A, par exemple 15.99
Recherche du nom d'un employé par ID

Données : D1:D20 contient les IDs des employés, E1:E20 contient leurs noms.

=VLOOKUP(123, D1:E20, 2, FALSE)

Recherche le nom de l'employé avec l'ID 123 dans la table D1:E20.

Résultat : Le nom de l'employé avec l'ID 123, par exemple "Jean Dupont"
Recherche du taux de commission

Données : F1:F5 contient les seuils de vente (triés), G1:G5 contient les taux de commission correspondants.

=VLOOKUP(5000, F1:G5, 2, TRUE)

Recherche le taux de commission pour un volume de ventes de 5000. La correspondance approximative est utilisée.

Résultat : Le taux de commission correspondant, par exemple 0.05 (5%)

Conseils et astuces

Utilisez des noms de plages pour rendre vos formules plus lisibles.

Utilisez IFERROR pour gérer les erreurs #N/A et retourner une valeur plus significative.

Privilégiez FALSE pour une correspondance exacte, sauf si vous comprenez parfaitement le fonctionnement de la correspondance approximative.

Vérifiez que la première colonne de table_array est triée si vous utilisez TRUE pour range_lookup.

Erreurs courantes

#N/A

La lookup_value n'a pas été trouvée dans la première colonne de la table.

Vérifiez que la lookup_value existe dans la première colonne et que l'orthographe est correcte. Assurez-vous que la plage de recherche est correcte.

#REF!

Le col_index_num est supérieur au nombre de colonnes dans table_array.

Vérifiez que le col_index_num est bien compris entre 1 et le nombre de colonnes de table_array.

Formules associées