Fonction LOOKUP d'Excel avec exemples de formules

  • Partage Ça
Michael Brown

Le tutoriel explique les formes vectorielles et de tableau de la fonction LOOKUP d'Excel et démontre les utilisations typiques et non-triviales de LOOKUP dans Excel avec des exemples de formules.

L'une des questions les plus fréquentes que tout utilisateur d'Excel se pose de temps en temps est la suivante : " Comment puis-je rechercher une valeur sur une feuille et extraire une valeur correspondante sur une autre feuille ? "Bien entendu, le scénario de base peut comporter de nombreuses variantes : vous pouvez rechercher la correspondance la plus proche plutôt que la correspondance exacte, vous pouvez vouloir effectuer une recherche verticale dans une colonne ou horizontale dans une ligne, évaluer un ou plusieurs critères, etc.

Microsoft Excel propose une multitude de méthodes différentes pour effectuer des recherches. Pour commencer, nous allons apprendre une fonction qui est conçue pour gérer les cas les plus simples de recherche verticale et horizontale. Comme vous pouvez facilement le deviner, je parle de la fonction LOOKUP.

    Fonction LOOKUP d'Excel - syntaxe et utilisations

    Au niveau le plus élémentaire, la fonction LOOKUP d'Excel recherche une valeur dans une colonne ou une ligne et renvoie une valeur correspondante à la même position dans une autre colonne ou ligne.

    Il existe deux formes de LOOKUP dans Excel : Vecteur et Array Chaque formulaire est expliqué individuellement ci-dessous.

    Fonction LOOKUP d'Excel - forme vectorielle

    Dans ce contexte, un vecteur Par conséquent, vous utilisez la forme vectorielle de LOOKUP pour rechercher une valeur spécifiée sur une ligne ou une colonne de données et extraire une valeur de la même position dans une autre ligne ou colonne.

    La syntaxe du vecteur Lookup est la suivante :

    LOOKUP(lookup_value, lookup_vector, [result_vector])

    Où :

    • Valeur de la recherche (Il peut s'agir d'un nombre, d'un texte, d'une valeur logique de VRAI ou FAUX, ou d'une référence à une cellule contenant la valeur à rechercher.
    • Vecteur de recherche (obligatoire) - plage d'une ligne ou d'une colonne à rechercher, qui doit être triée dans l'ordre suivant ordre ascendant .
    • Vecteur de résultat (facultatif) - plage d'une ligne ou d'une colonne à partir de laquelle vous voulez retourner le résultat - une valeur dans la même position que la valeur de consultation. Vecteur de résultat doit être le même taille comme gamme_consultative S'il est omis, le résultat est retourné à partir de vecteur de recherche .

    Les exemples suivants présentent deux formules Lookup simples en action.

    Formule de recherche verticale - recherche dans une plage à une colonne

    Disons que vous avez une liste de vendeurs dans la colonne D (D2:D5) et les produits qu'ils ont vendus dans la colonne E (E2:E5). Vous êtes en train de créer un tableau de bord où vos utilisateurs entreront le nom du vendeur dans B2 et vous avez besoin d'une formule qui sortirait un produit correspondant dans B3. La tâche peut être facilement accomplie avec cette formule :

    =LOOKUP(B2,D2:D5,E2:E5)

    Pour mieux comprendre les arguments, veuillez jeter un coup d'œil à cette capture d'écran :

    Formule de recherche horizontale - recherche dans une plage d'une ligne

    Si vos données sources ont une disposition horizontale, c'est-à-dire que les entrées se trouvent sur des lignes plutôt que sur des colonnes, fournissez une plage d'une ligne dans le champ vecteur de recherche et vecteur_résultat des arguments, comme ceci :

    =LOOKUP(B2,E1:H1,E2:H2)

    Dans la deuxième partie de ce tutoriel, vous trouverez d'autres exemples de fonctions de recherche dans Excel qui permettent de résoudre des tâches plus complexes. Entre-temps, rappelez-vous les faits simples suivants qui vous aideront à éviter les pièges et les erreurs courantes.

    5 choses à savoir sur la forme vectorielle du LOOKUP d'Excel

    1. Valeurs en vecteur de recherche doivent être triés en ordre ascendant c'est-à-dire du plus petit au plus grand ou de A à Z, sinon votre formule de recherche Excel risque de renvoyer une erreur ou un résultat incorrect. Si vous devez effectuer une recherche sur données non triées puis utilisez soit INDEX MATCH soit OFFSET MATCH.
    2. Vecteur de recherche et vecteur_résultat doit être un à un rang ou une colonne de la même taille.
    3. La fonction LOOKUP dans Excel est insensible à la casse il ne fait pas la différence entre les majuscules et les minuscules.
    4. Excel LOOKUP fonctionne sur la base de correspondance approximative Plus précisément, une formule de recherche cherche d'abord la correspondance exacte. Si elle ne trouve pas la valeur de recherche exacte, elle recherche l'équivalent de la valeur de recherche. la plus petite valeur suivante c'est-à-dire la plus grande valeur dans vecteur de recherche qui est inférieur ou égal à valeur de la recherche .

      Par exemple, si votre valeur de référence est "5", la formule la cherchera en premier. Si "5" n'est pas trouvé, elle cherchera "4". Si "4" n'est pas trouvé, elle cherchera "3", et ainsi de suite.

    5. Si valeur de la recherche est plus petit que la plus petite valeur dans vecteur de recherche Excel LOOKUP retourne l'erreur #N/A.

    Fonction LOOKUP d'Excel - forme de tableau

    La forme tableau de la fonction LOOKUP recherche la valeur spécifiée dans la première colonne ou ligne du tableau et récupère une valeur de la même position dans la dernière colonne ou ligne du tableau.

    Le tableau Lookup possède 2 arguments, tous deux obligatoires :

    LOOKUP(lookup_value, tableau)

    Où :

    • Valeur de la recherche - une valeur à rechercher dans un tableau.
    • Array - une plage de cellules dans laquelle vous souhaitez rechercher la valeur de consultation. Les valeurs de la première colonne ou ligne du tableau (selon que vous effectuez une consultation en V ou en H) doivent être triées par ordre croissant. Les caractères majuscules et minuscules sont considérés comme équivalents.

    Par exemple, avec les noms des vendeurs situés dans la première colonne du tableau (colonne A) et les dates de commande dans la dernière colonne du tableau (colonne C), vous pouvez utiliser la formule suivante pour rechercher le nom et extraire la date correspondante :

    =LOOKUP(B2,D2:F5)

    Remarque : la forme tableau de la fonction LOOKUP d'Excel ne doit pas être confondue avec les formules tableau d'Excel. Bien qu'elle opère sur des tableaux, LOOKUP est toujours une formule ordinaire, qui se termine de la manière habituelle en appuyant sur la touche Entrée.

    4 choses que vous devez savoir sur la forme tableau de Excel LOOKUP

    1. Si tableau a plus de lignes que de colonnes ou le même nombre de colonnes et de lignes, une formule Lookup effectue une recherche dans la première colonne (lookup horizontal).
    2. Si tableau a plus de colonnes que de lignes Excel LOOKUP recherche dans la première ligne (recherche verticale).
    3. Si une formule ne peut pas trouver la valeur de recherche, elle utilise la fonction valeur maximale dans le tableau qui est inférieur ou égal à valeur de la recherche .
    4. Si le la valeur de recherche est plus petite que la plus petite valeur de la première colonne ou ligne du tableau (en fonction des dimensions du tableau), une formule de recherche renvoie l'erreur #N/A.

    Remarque importante ! La fonctionnalité du tableau Excel LOOKUP est limitée et nous ne vous recommandons pas de l'utiliser. Vous pouvez plutôt utiliser la fonction VLOOKUP ou HLOOKUP, qui sont des versions améliorées permettant d'effectuer des recherches verticales et horizontales, respectivement.

    Comment utiliser la fonction LOOKUP dans Excel - exemples de formules

    Bien qu'il existe des fonctions plus puissantes pour rechercher et faire correspondre des données dans Excel (ce qui est le sujet de notre prochain tutoriel), la fonction LOOKUP est utile dans de nombreuses situations, et les exemples suivants démontrent quelques utilisations non triviales.

    Recherche d'une valeur dans la dernière cellule non vide d'une colonne.

    Si vous disposez d'une colonne de données alimentée dynamiquement, vous voudrez peut-être choisir l'entrée la plus récemment ajoutée, c'est-à-dire obtenir la dernière cellule non vide d'une colonne. Pour cela, utilisez cette formule générique :

    LOOKUP(2, 1/( colonne ""), colonne )

    Dans la formule ci-dessus, tous les arguments, à l'exception de la référence de la colonne, sont des constantes. Ainsi, pour extraire la dernière valeur d'une colonne spécifique, il suffit de fournir la référence de la colonne correspondante. Par exemple, pour extraire la valeur de la dernière cellule non vide de la colonne A, utilisez cette formule :

    =LOOKUP(2, 1/(A:A""), A:A)

    Pour obtenir la dernière valeur à partir d'autres colonnes, modifiez les références de la colonne comme indiqué dans la capture d'écran ci-dessous - la première référence est la colonne à vérifier pour les cellules vides/non vides, et la deuxième référence est la colonne pour retourner la valeur :

    Comment fonctionne cette formule

    Dans le valeur de la recherche vous fournissez 2 ou tout autre nombre supérieur à 1 (dans un instant, vous comprendrez pourquoi).

    Dans le vecteur de recherche argument, vous mettez cette expression : 1/(A:A"")

    • Tout d'abord, vous effectuez l'opération logique A:A"" qui compare chaque cellule de la colonne A à une chaîne vide et renvoie VRAI pour les cellules vides et FAUX pour les cellules non vides. Dans l'exemple ci-dessus, la formule en F2 renvoie ce tableau : {Vrai;Vrai;Vrai;Vrai;FAUX...}
    • Puis, vous divisez le nombre 1 par chaque élément du tableau ci-dessus. Avec VRAI égal à 1 et FAUX égal à 0, vous obtenez un nouveau tableau composé de 1 et d'erreurs #DIV/0 ! (le résultat de la division par 0), et ce tableau est utilisé comme suit vecteur de recherche Dans cet exemple, c'est {1;1;1;1;1;#DIV/0 !...}

    Maintenant, comment se fait-il que la formule renvoie la dernière valeur non vide d'une colonne, étant donné que valeur de la recherche ne correspond à aucun élément de vecteur de recherche La clé pour comprendre la logique est qu'Excel LOOKUP effectue des recherches avec une correspondance approximative, c'est-à-dire que lorsque la valeur exacte de la recherche n'est pas trouvée, elle correspond à la valeur suivante la plus grande dans la liste des valeurs de la recherche. vecteur de recherche qui est plus petit que valeur de la recherche Dans notre cas, valeur de la recherche est 2 et la plus grande valeur dans vecteur de recherche est 1, donc LOOKUP correspond au dernier 1 du tableau, qui est la dernière cellule non vide !

    Dans le vecteur_résultat vous faites référence à la colonne à partir de laquelle vous souhaitez renvoyer une valeur, et votre formule de recherche récupérera la valeur à la même position que la valeur de recherche.

    Conseil. Si vous souhaitez obtenir le numéro de la ligne en conservant la dernière valeur, puis en utilisant la fonction ROW pour la récupérer. Par exemple : =LOOKUP(2,1/(A:A""),ROW(A:A))

    Recherche d'une valeur dans la dernière cellule non vide d'une ligne.

    Si vos données sources sont disposées en lignes plutôt qu'en colonnes, vous pouvez obtenir la valeur de la dernière cellule non vide à l'aide de cette formule :

    LOOKUP(2, 1/( rangée ""), rangée )

    En fait, cette formule n'est rien d'autre qu'une légère modification de la formule précédente, à la seule différence que vous utilisez la référence de ligne au lieu de la référence de colonne.

    Par exemple, pour obtenir la valeur de la dernière cellule non vide de la ligne 1, utilisez cette formule :

    =LOOKUP(2, 1/(1:1""), 1:1)

    La capture d'écran suivante montre le résultat :

    Obtenir une valeur associée à la dernière entrée d'une ligne

    Avec un peu de créativité, la formule ci-dessus peut facilement être adaptée pour résoudre d'autres tâches similaires. Par exemple, elle peut être utilisée pour obtenir une valeur associée à la dernière instance d'une valeur spécifique dans une ligne. Cela peut sembler un peu obscur, mais l'exemple suivant rendra les choses plus faciles à comprendre.

    Supposons que vous ayez un tableau récapitulatif dans lequel la colonne A contient les noms des vendeurs et les colonnes suivantes contiennent des données de quelque nature que ce soit pour chaque mois. Dans cet exemple, une cellule contient "oui" si un vendeur donné a conclu au moins une transaction au cours d'un mois donné. Notre objectif est d'obtenir un mois associé à la dernière entrée "oui" dans une ligne.

    La tâche peut être résolue en utilisant la formule LOOKUP suivante :

    =LOOKUP(2, 1/(B2:H2="oui"), $B$1:$H$1)

    La logique de la formule est fondamentalement la même que celle décrite dans le premier exemple, à la différence que vous utilisez l'opérateur "égal à" ("=") au lieu de "non égal à" ("") et que vous opérez sur des lignes au lieu de colonnes.

    La capture d'écran suivante illustre un résultat :

    Lookup comme alternative aux IF imbriqués

    Dans toutes les formules Lookup que nous avons abordées jusqu'à présent, l'attribut vecteur de recherche et vecteur_résultat Cependant, la syntaxe de la fonction LOOKUP d'Excel permet de fournir les vecteurs sous la forme d'une constante de tableau verticale, ce qui vous permet de reproduire la fonctionnalité des IF imbriqués avec une formule plus compacte et plus facile à lire.

    Supposons que vous ayez une liste d'abréviations dans la colonne A et que vous souhaitiez les remplacer par des noms complets, où "C" signifie "Terminé", "D" signifie "Développement" et "T" signifie "Test". La tâche peut être accomplie avec la fonction IF imbriquée suivante :

    =IF(A2="c", "Completed", IF(A2="d", "Development", IF(A2="t", "Testing", ""))))

    Ou, en utilisant cette formule de recherche :

    =LOOKUP(A2, {"c" ; "d" ; "t"}, {"Completed" ; "Development" ; "Testing"})

    Comme le montre la capture d'écran ci-dessous, les deux formules donnent des résultats identiques :

    Remarque : pour qu'une formule Lookup Excel fonctionne correctement, les valeurs dans le champ lookup_array doivent être triés de A à Z ou du plus petit au plus grand.

    Si vous extrayez des valeurs d'une table de consultation, vous pouvez incorporer une fonction Vlookup dans le champ valeur de la recherche pour récupérer une correspondance.

    En supposant que la valeur de référence se trouve dans la cellule E2, que la table de référence est A2:C7 et que la colonne concernée ("État") est la troisième colonne de la table de référence, la formule suivante fait l'affaire :

    =LOOKUP(VLOOKUP(E2, $A$2:$C$7, 3, FALSE), {"c" ; "d" ; "t"}, {"Completed" ; "Development" ; "Testing"})

    Comme le montre la capture d'écran ci-dessous, la formule récupère le statut du projet dans la table de consultation et remplace une abréviation par le mot correspondant :

    Conseil : si vous utilisez Excel 2016 dans le cadre d'un abonnement Office 365, vous pouvez utiliser la fonction SWITCH à des fins similaires.

    J'espère que ces exemples vous ont éclairé sur le fonctionnement de la fonction Lookup. Pour mieux comprendre les formules, nous vous invitons à télécharger ces exemples de Lookup Excel. Dans le prochain tutoriel, nous aborderons quelques autres façons d'effectuer des Lookup dans Excel et nous expliquerons quelle formule Lookup est la plus adaptée à chaque situation. Je vous remercie de votre lecture et j'espère vous retrouver sur notre blog la semaine prochaine !

    Michael Brown est un passionné de technologie passionné par la simplification de processus complexes à l'aide d'outils logiciels. Avec plus d'une décennie d'expérience dans l'industrie de la technologie, il a perfectionné ses compétences dans Microsoft Excel et Outlook, ainsi que dans Google Sheets et Docs. Le blog de Michael est dédié au partage de ses connaissances et de son expertise avec les autres, en fournissant des conseils et des tutoriels faciles à suivre pour améliorer la productivité et l'efficacité. Que vous soyez un professionnel chevronné ou un débutant, le blog de Michael offre des informations précieuses et des conseils pratiques pour tirer le meilleur parti de ces outils logiciels essentiels.