Table des matières
Le tutoriel explique les bases de la fonction Lookup dans Excel, montre les forces et les faiblesses de chaque fonction Lookup d'Excel et fournit un certain nombre d'exemples pour vous aider à décider quelle formule Lookup est la meilleure à utiliser dans une situation particulière.
La recherche d'une valeur spécifique dans un ensemble de données est l'une des tâches les plus courantes dans Excel. Et pourtant, il n'existe pas de formule de recherche "universelle" adaptée à toutes les situations. La raison en est que le terme "recherche" peut désigner une variété de choses différentes : vous pouvez chercher verticalement dans une colonne, horizontalement dans une ligne ou à l'intersection d'une ligne et d'une colonne, rechercher avec un ou plusieurs critères, renvoyer lela première correspondance trouvée ou les correspondances multiples, effectuer une recherche sensible à la casse ou insensible à la casse, et ainsi de suite.
Sur cette page, vous trouverez une liste des fonctions Lookup Excel les plus essentielles, avec des exemples de formules et des didacticiels approfondis liés pour votre référence.
Lookup dans Excel - les bases
Avant de nous plonger dans les arcanes des formules Lookup d'Excel, définissons les termes clés afin de nous assurer que nous sommes toujours sur la même longueur d'onde.
Consulter le site - la recherche d'une valeur spécifiée dans un tableau de données.
Valeur de recherche - une valeur à rechercher.
Valeur de retour (valeur correspondante ou correspondance) - une valeur située à la même position que la valeur de recherche mais dans une autre colonne ou ligne (selon que vous effectuez une recherche verticale ou horizontale).
Table de recherche En informatique, une table de consultation est un tableau de données, qui est généralement utilisé pour faire correspondre des valeurs d'entrée à des valeurs de sortie. Dans le cadre de ce tutoriel, une table de consultation Excel n'est rien d'autre qu'une plage de cellules dans laquelle vous recherchez une valeur de consultation.
Table principale (table maître) - une table dans laquelle vous tirez des valeurs correspondantes.
Votre table de recherche et votre table principale peuvent avoir une structure et une taille différentes, mais elles doivent toujours contenir au moins une identifiant unique commun Il s'agit d'une colonne ou d'une ligne contenant des données identiques, selon que l'on souhaite effectuer une recherche verticale ou horizontale.
La capture d'écran suivante montre un exemple de table de consultation qui sera utilisé dans plusieurs des exemples ci-dessous.
Fonctions de recherche dans Excel
Vous trouverez ci-dessous un aperçu rapide des formules les plus populaires pour effectuer des recherches dans Excel, ainsi que leurs principaux avantages et inconvénients.
Fonction LOOKUP
La fonction LOOKUP d'Excel permet d'effectuer les types les plus simples de recherches verticales et horizontales.
Pour Facile à utiliser.
Cons Fonctionnalité limitée, ne peut pas travailler avec des données non triées (nécessite de trier la colonne/rangée de recherche dans l'ordre croissant).
Pour plus d'informations, veuillez consulter la section Comment utiliser la fonction LOOKUP d'Excel.
Fonction VLOOKUP
C'est une version améliorée de la fonction LOOKUP spécialement conçue pour faire recherche verticale en colonnes.
Pour : Relativement facile à utiliser, peut fonctionner avec une correspondance exacte et approximative.
Cons : ne peut pas regarder à sa gauche, cesse de fonctionner lorsqu'une colonne est insérée dans la table de consultation ou en est retirée, une valeur de consultation ne peut pas dépasser 255 caractères, nécessite une grande puissance de traitement sur les grands ensembles de données.
Pour plus d'informations, veuillez consulter le tutoriel Excel VLOOKUP pour les débutants.
Fonction HLOOKUP
Il s'agit d'une contrepartie horizontale de VLOOKUP qui recherche une valeur dans la première ligne de la table de consultation et renvoie la valeur à la même position à partir d'une autre ligne.
Pour : Facile à utiliser, peut renvoyer des correspondances exactes et approximatives.
Cons Peut uniquement rechercher dans la ligne supérieure de la table de recherche, est affecté par l'insertion ou la suppression de lignes, une valeur de recherche doit être inférieure à 255 caractères.
Pour plus d'informations, veuillez consulter la section Comment utiliser HLOOKUP dans Excel.
CORRESPONDANCE VLOOKUP / CORRESPONDANCE HLOOKUP
En d'autres termes, avec l'aide de MATCH, les fonctions VLOOKUP et HLOOKUP peuvent renvoyer des valeurs correctes, quel que soit le nombre de colonnes ou de lignes insérées ou supprimées dans une table de consultation.
Formule pour la recherche verticale
VLOOKUP( valeur de la recherche , lookup_table , MATCH( retour_nom_de_colonne , en-têtes de colonne , 0), FALSE)Formule pour la consultation horizontale
HLOOKUP( valeur de la recherche , lookup_table , MATCH( return_row_name , en-têtes de ligne , 0), FALSE)Pour Une amélioration par rapport aux formules Hlookup et Vlookup normales, qui sont insensibles à l'insertion ou à la suppression de données.
Cons : Pas très flexible, nécessite une structure de données spécifique (la valeur de recherche fournie à la fonction MATCH doit être exactement égale au nom de la colonne de retour), ne peut pas fonctionner avec des valeurs de recherche dépassant 255 caractères.
Pour plus d'informations et des exemples de formules, veuillez consulter le site :
- Excel Vlookup et Match
- Excel Hlookup et Match
CORRESPONDANCE DE L'OFFSET
Une formule de consultation plus complexe mais plus puissante, exempte de nombreuses limitations de Vlookup et Hlookup.
Formule pour la recherche en V
OFFSET( lookup_table , MATCH( valeur de la recherche , OFFSET( lookup_table , 0, n , ROWS( lookup_table ), 1) ,0) -1, m , 1, 1)Où :
- n - est le décalage de la colonne de recherche, c'est-à-dire le nombre de colonnes à déplacer du point de départ à la colonne de recherche.
- m - est le décalage de la colonne de retour, c'est-à-dire le nombre de colonnes à déplacer du point de départ à la colonne de retour.
Formule pour la recherche en H
OFFSET( lookup_table , m , MATCH( valeur de la recherche , OFFSET( lookup_table , n , 0, 1, COLONNES( lookup_table )), 0) -1, 1, 1)Où :
- n - est le décalage de la ligne de recherche, c'est-à-dire le nombre de lignes à déplacer du point de départ à la ligne de recherche.
- m - est le décalage de la ligne de retour, c'est-à-dire le nombre de lignes à déplacer du point de départ à la ligne de retour.
Formule de consultation de la matrice (par ligne et par colonne)
{=OFFSET ( point de départ , MATCH ( vertical_lookup_value , colonne_consultation , 0), MATCH ( valeur_consultative_horizontale , lookup_row , 0))}Veuillez noter qu'il s'agit d'une formule de tableau, qui est saisie en appuyant simultanément sur les touches Ctrl + Shift + Enter.
Pour : Permet d'effectuer une Vlookup à gauche, une Hlookup supérieure et une recherche bidirectionnelle (par les valeurs des colonnes et des lignes), sans être affecté par les changements dans le jeu de données.
Cons : Syntaxe complexe et difficile à mémoriser.
Pour plus d'informations et d'exemples de formules, veuillez consulter : Utilisation de la fonction OFFSET dans Excel
MATCH INDEX
C'est la meilleure façon de faire des recherches verticales ou horizontales dans Excel et elle peut remplacer la plupart des formules ci-dessus. La formule de correspondance d'index est ma préférence personnelle et je l'utilise pour presque toutes mes recherches dans Excel.
Formule pour la recherche en V
INDEX ( retour_colonne , MATCH ( valeur de la recherche , colonne_consultation , 0))Formule pour la recherche en H
INDEX ( return_row , MATCH ( valeur de la recherche , lookup_row , 0))Formule pour la consultation de la matrice
Une extension de la formule classique de correspondance d'index pour renvoyer une valeur à l'intersection d'une colonne et d'une ligne spécifiques :
INDEX ( lookup_table , MATCH ( vertical_lookup_value , colonne_consultation , 0), MATCH ( valeur_consultative_horizontale , lookup_row , 0))Cons : Une seule : vous devez vous souvenir de la syntaxe de la formule.
Pour La formule Lookup la plus polyvalente d'Excel, supérieure aux fonctions Vlookup, Hlookup et Lookup à bien des égards :
- Il peut effectuer des recherches à gauche et à droite.
- Permet d'étendre ou de réduire en toute sécurité la table de consultation en insérant ou en supprimant des colonnes et des lignes.
- Aucune limite à la taille de la valeur de consultation.
- Travaillez plus rapidement. Comme une formule de correspondance d'index fait référence à des colonnes/lignes plutôt qu'à un tableau entier, elle nécessite moins de puissance de traitement et ne ralentit pas votre Excel.
Pour plus d'informations, veuillez consulter le site :
- INDEX MATCH, une meilleure alternative à VLOOKUP
- Formule INDEX MATCH MATCH pour la consultation bidimensionnelle
Tableau comparatif Excel Lookup
Comme vous pouvez le constater, toutes les formules de recherche Excel ne sont pas équivalentes, certaines peuvent gérer un certain nombre de recherches différentes, tandis que d'autres ne peuvent être utilisées que dans une situation spécifique.
Formule | Recherche verticale | Recherche à gauche | Recherche horizontale | Lookup supérieur | Consultation de la matrice | Permet l'insertion/suppression de données |
Consulter le site | ✓ | ✓ | ||||
Vlookup | ✓ | |||||
Hlookup | ✓ | |||||
Vlookup Match | ✓ | ✓ | ||||
Correspondance Hlookup | ✓ | ✓ | ||||
Correspondance des décalages | ✓ | ✓ | ✓ | ✓ | ✓ | |
Correspondance de décalage Correspondance | ✓ | ✓ | ||||
Correspondance d'index | ✓ | ✓ | ✓ | ✓ | ✓ | |
Index Match Match | ✓ | ✓ |
Exemples de formules de consultation Excel
La première étape pour décider de la formule à utiliser dans une situation spécifique consiste à déterminer le type de consultation que vous souhaitez effectuer. Vous trouverez ci-dessous des exemples de formules pour les types de consultation les plus courants :
Recherche verticale dans les colonnes
La consultation verticale ou Vlookup consiste à trouver une valeur de consultation dans une colonne et à renvoyer une valeur dans la même ligne à partir d'une autre colonne :
Fonction VLOOKUP
Si vos valeurs de consultation se trouvent dans la colonne de gauche du tableau et que vous ne prévoyez pas d'apporter des modifications structurelles à votre ensemble de données (ni d'ajouter ni de supprimer des colonnes), vous pouvez utiliser une formule Vlookup classique :
=VLOOKUP(G2, $A$2:$E$6, 5, FALSE)
Où G2 est la valeur de référence, A2:E6 dans la table de référence, et E est la colonne de retour.
MATCH VLOOKUP
Si vous travaillez avec un tableau de consultation Excel "variable" dans lequel des colonnes peuvent être insérées et supprimées à tout moment, immunisez votre formule Vlookup contre ces changements en intégrant la fonction Match qui crée une référence de colonne dynamique au lieu d'un numéro d'index "codé en dur" :
=VLOOKUP(F2,$A$1:$D$6, MATCH($G$1,$A$1:$D$1, 0), FALSE)
INDEX MATCH - Recherche à gauche
Il s'agit de ma formule préférée qui gère facilement les recherches de droite à gauche et fonctionne impeccablement, quel que soit le nombre de colonnes que vous ajoutez ou supprimez.
Par exemple, pour rechercher dans la colonne B la valeur contenue dans H2 et renvoyer une correspondance dans la colonne F, utilisez cette formule :
=INDEX($F$2:$F$6,(MATCH(H2,$B$2:$B$6,0)))
Remarque : si vous envisagez d'utiliser une formule Vlookup dans plusieurs cellules, vous devez toujours verrouiller la référence de la table de consultation en utilisant le signe $ (référence absolue de la cellule), afin que la formule soit copiée correctement dans d'autres cellules.
Recherche horizontale en lignes
Une consultation horizontale est une version "transposée" de la consultation verticale qui effectue une recherche dans un ensemble de données disposées horizontalement. En d'autres termes, elle recherche la valeur de consultation dans une ligne et renvoie une valeur à la même position dans une autre ligne.
En supposant que votre valeur de consultation se trouve dans B9, que la table de consultation est B1:F5 et que vous souhaitez renvoyer une valeur correspondante de la ligne 5, utilisez l'une des formules suivantes :
Fonction HLOOKUP
Peut regarder vers le haut seulement à travers le rangée supérieure dans votre ensemble de données.
=HLOOKUP(B8, $B$1:$F$5, 5, FALSE)
HLOOKUP MATCH
Comme le Hlookup pur, cette formule ne peut effectuer une recherche que dans la ligne la plus haute, mais elle vous permet de insérer ou supprimer des lignes en toute sécurité dans la table de consultation.
=HLOOKUP(B8, $B$1:$F$5, MATCH($A$9, $A$1:$A$5, 0), FALSE)
Où A1:A5 sont des en-têtes de ligne et A9 est le nom de la ligne à partir de laquelle vous voulez retourner les correspondances.
MATCH INDEX
Can regarder vers le haut dans n'importe quelle ligne et ne présente aucune des limitations des formules ci-dessus.
=INDEX($B$5:$F$5,(MATCH(B8,$B$1:$F$1,0)))
Recherche bidimensionnelle (basée sur les valeurs des lignes et des colonnes)
Recherche bidimensionnelle (alias recherche de matrice , double lookup ou Recherche à double sens ) renvoie une valeur basée sur les correspondances entre les lignes et les colonnes. En d'autres termes, une formule de consultation bidimensionnelle recherche une valeur à l'intersection d'une ligne et d'une colonne spécifiées.
En supposant que votre table de consultation est A1:E6, que la cellule H2 contient la valeur à faire correspondre sur les lignes et que H3 contient la valeur à faire correspondre sur les colonnes, les formules suivantes fonctionneront à merveille :
Formule INDEX MATCH MATCH :
=INDEX($A$1:$E$6, MATCH(H2,$A$1:$A$6,0), MATCH(H3,$A$1:$E$1,0))
Formule OFFSET MATCH MATCH :
=OFFSET($A$1,MATCH(H2,$A$2:$A$6,0),MATCH(H3,$B$1:$E$1,0))
En dehors des formules ci-dessus, il existe une poignée d'autres façons d'effectuer une recherche matricielle dans Excel, et vous pouvez trouver tous les détails dans Comment faire une recherche à deux voies dans Excel.
Recherche tridimensionnelle
Dans le jeu de données ci-dessous, supposons que vous souhaitiez rechercher une année spécifique (H2), puis un nom spécifique dans les données de cette année (H3), et enfin renvoyer une valeur pour un mois spécifique (H4).
La tâche peut être accomplie avec la formule de tableau suivante (n'oubliez pas d'appuyer sur Ctrl + Shift + Enter pour la compléter correctement) :
=INDEX($A$1:$E$12,MIN(IF((ROW($A$1:$A$12)>MATCH(H2,$A$1:$A$12,0))*($A$1:$A$12=H3),ROW($A$1:$A$12),"")),MATCH(H4,$A$1:$E$1,0))
Recherche avec plusieurs critères
Pour pouvoir évaluer plusieurs critères, nous devrons modifier la formule classique de correspondance d'index afin qu'elle se transforme en formule de tableau :
INDEX( lookup_table , MATCH(1, ( valeur_consultative1 = lookup_column1 ) * ( lookup_value2 = lookup_column2 )*..., 0), retour_numéro_colonne )Avec la table de consultation résidant dans A1:C11, trouvons une correspondance par 2 critères : recherchez dans la colonne A une valeur dans la cellule F1, et dans la colonne B une valeur dans la cellule F2 :
=INDEX($A$1:$C$11, MATCH(1, (F1=$A$1:$A$11) * (F2=$B$1:$B$11),0), 3)
Comme d'habitude, vous devez appuyer sur Ctrl + Shift + Enter pour que la formule soit évaluée comme une formule de tableau.
Pour une explication détaillée de la logique de la formule, voir INDEX MATCH pour effectuer des recherches avec plusieurs critères.
Recherche pour retourner plusieurs valeurs
Quelle que soit la fonction de recherche Excel que vous utilisez (LOOKUP, VLOOKUP ou HLOOKUP), elle ne peut renvoyer qu'une seule correspondance. Pour obtenir toutes les correspondances trouvées, vous devriez utiliser 6 fonctions différentes combinées dans une formule de tableau :
IFERROR(INDEX( retour_gamme , SMALL(IF( valeur de la recherche = gamme_consultative , ROW( retour_gamme )- m ,""), ROW() - n )),"")Où :
- m est le numéro de ligne de la première cellule de la plage de retour moins 1.
- n est le numéro de ligne de la première cellule de formule moins 1.
Avec la valeur de consultation située dans la cellule E2, la plage de consultation dans A2:A11, la plage de retour dans B2:B11 et la première cellule de formule dans la ligne 2, votre formule de consultation prend la forme suivante :
=IFERROR(INDEX($B$2:$B$11, SMALL(IF($E$2 =$A$2:$A$11, ROW($B$2:$B$11 )- 1,""), ROW() - 1 )),"")
Pour que la formule renvoie plusieurs correspondances, vous devez la saisir dans la première cellule (F2), appuyer sur Ctrl + Shift + Enter , puis copier la formule dans les autres cellules de la colonne.
Pour une explication détaillée de la formule ci-dessus et d'autres moyens de renvoyer plusieurs valeurs, veuillez consulter la rubrique Comment utiliser Vlookup pour renvoyer plusieurs résultats.
Recherche imbriquée (à partir de 2 tables de recherche)
Dans les cas où votre table principale et la table de consultation dont vous voulez extraire des données n'ont pas de colonne commune, vous pouvez utiliser une table de consultation supplémentaire pour établir des correspondances, comme ceci :
Pour récupérer les valeurs du Montant colonne dans Lookup_table2 vous utilisez la formule suivante :
=VLOOKUP(VLOOKUP(A2, Lookup_table1!$A$1:$B$6, 2, FALSE), Lookup_table2!$A$1:$B$6, 2, FALSE)
Comme le montre la capture d'écran ci-dessous, notre formule de consultation imbriquée fonctionne parfaitement :
Vlookups séquentiels à partir de plusieurs feuilles
Pour effectuer des VLOOKUP séquentiels en fonction de la réussite ou de l'échec d'une consultation précédente, utilisez des fonctions IFERROR imbriquées avec des VLOOKUP pour évaluer plusieurs conditions une par une :
IFERROR(VLOOKUP( ... ), IFERROR(VLOOKUP( ... ), IFERROR(VLOOKUP( ... ), "Non trouvé"))))Si la première Vlookup échoue, IFERROR capte l'erreur et exécute une autre Vlookup. Si la deuxième Vlookup ne trouve rien non plus, le deuxième IFERROR capte l'erreur et exécute la troisième Vlookup, et ainsi de suite. Si toutes les Vlookups échouent, le dernier IFERROR renvoie "non trouvé" ou tout autre message que vous fournissez à la formule.
A titre d'exemple, essayons d'extraire le montant de 3 feuilles différentes :
=IFERROR(VLOOKUP(B1,A6:B9,2,0), IFERROR(VLOOKUP(B1,D6:E9,2,0), IFERROR(VLOOKUP(B1,G6:H9,2,0), "Not found")))
Le résultat ressemblera à ceci :
Pour plus d'informations, veuillez consulter la section Comment utiliser les fonctions IFERROR imbriquées dans Excel.
Recherche sensible à la casse
Comme vous le savez probablement, toutes les fonctions de recherche d'Excel sont par nature insensibles à la casse. Pour forcer votre formule de recherche à faire la distinction entre les minuscules et les majuscules, utilisez LOOKUP ou INDEX MATCH en combinaison avec la fonction EXACT. J'opte personnellement pour INDEX MATCH parce qu'il n'est pas nécessaire de trier les valeurs dans la colonne de recherche comme le fait la fonction LOOKUP, et qu'il peut effectuer des recherches de gauche à droite.et les recherches de droite à gauche, et fonctionne parfaitement pour tous les types de données.
INDEX( retour_colonne , MATCH(TRUE, EXACT( colonne_consultation , valeur de la recherche ),0))Avec G2 comme valeur de recherche, A comme colonne de recherche et E comme colonne de retour, notre formule de recherche sensible à la casse est la suivante :
=INDEX($E$2:$E$6, MATCH(TRUE, EXACT($A$2:$A$6,G2),0))
Puisque c'est un formule matricielle assurez-vous d'appuyer sur Ctrl + Shift + Enter pour le faire correctement.
Pour plus d'exemples de formules, veuillez consulter la rubrique Comment effectuer une recherche sensible à la casse dans Excel.
Recherche d'une correspondance partielle de chaîne de caractères
La recherche par correspondance partielle est l'une des tâches les plus difficiles d'Excel pour laquelle il n'existe pas de solution universelle. La formule à utiliser dépend du type de différences entre les valeurs de votre recherche et les valeurs de la colonne à rechercher. Dans la plupart des cas, vous utiliserez la fonction LEFT, RIGHT ou MID pour extraire la partie commune des valeurs, puis vous fournirez cette partie à la fonction valeur de la recherche de la fonction Vlookup, comme c'est le cas dans la formule suivante :
=VLOOKUP(RIGHT(D2,4), $A$2:$B$6, 2, FALSE)
Où D2 est la valeur de consultation, A2:B6 est la table de consultation et 2 est le numéro d'index de la colonne à partir de laquelle les correspondances doivent être retournées.
Pour d'autres façons d'effectuer une recherche par correspondance partielle dans Excel, veuillez consulter Comment fusionner deux feuilles de calcul par correspondance partielle.
Pour voir de plus près les formules présentées dans ce tutoriel, nous vous invitons à télécharger nos exemples de formules de recherche Excel.
Une méthode sans formule pour effectuer une recherche dans Excel
Il va sans dire que la consultation d'Excel n'est pas une tâche triviale. Si vous faites vos premiers pas dans le monde d'Excel, les formules de consultation peuvent vous sembler assez confuses et difficiles à comprendre. Mais ne vous découragez pas, ces compétences ne sont pas naturelles pour la majorité des utilisateurs !
Pour faciliter la tâche aux novices, nous avons créé un outil spécial, l'Assistant Fusion des tableaux, qui permet de rechercher, de faire correspondre et de fusionner des tableaux sans une seule formule. En outre, il offre un certain nombre d'options vraiment uniques dont même les utilisateurs avancés d'Excel peuvent bénéficier :
- Recherche par plusieurs critères c'est-à-dire utiliser une ou plusieurs colonnes comme identifiant(s) unique(s).
- Mise à jour les valeurs dans les colonnes existantes et ajouter un nouveau colonnes de la table de consultation.
- Retourner à plusieurs matchs Lorsqu'il est utilisé en combinaison avec l'assistant de combinaison de lignes, il peut même renvoyer plusieurs résultats dans une seule cellule, séparés par une virgule ou autrement (vous trouverez un exemple ici).
- Et plus encore.
L'utilisation de l'assistant de fusion de tableaux est simple et intuitive. Il vous suffit de le faire :
- Sélectionnez votre tableau principal dans lequel vous voulez extraire les valeurs correspondantes.
- Sélectionnez la table de consultation à partir de laquelle vous souhaitez extraire les correspondances.
- Définissez une ou plusieurs colonnes communes.
- Choisissez les colonnes à mettre à jour ou/et à ajouter à la fin du tableau.
- En option, sélectionnez une ou plusieurs options de fusion supplémentaires.
- Cliquez sur Finition et vous aurez un résultat dans un instant !
Si vous êtes curieux d'essayer le complément sur vos propres feuilles de calcul, vous pouvez télécharger une version d'essai de notre Ultimate Suite qui comprend tous nos outils de gain de temps pour Excel (au total, plus de 70 outils et plus de 300 fonctionnalités !)
Téléchargements disponibles
Exemples de formules Excel Lookup (fichier .xlsx)
Ultimate Suite 14 jours version entièrement fonctionnelle (fichier .exe)