RECHERCHEV est une formule très utile; les utilisateurs d’Excel les plus avancés rencontrent toujours des situations où ce serait une solution appropriée. Mais un VLOOKUP de base a un défaut majeur; il ne peut pas rechercher une valeur à gauche. La valeur recherchée doit toujours être dans la première colonne et la valeur renvoyée doit toujours être à droite. Mais les données ne sont pas toujours fournies comme ça, parfois les données que vous souhaitez rechercher se trouvent à gauche – alors que pouvez-vous faire?
J’ai trois options pour vous.
Les exemples ci-dessous utilisent le tableau suivant:
Ceci est un exemple très simple avec les pays (colonne B) et les continents dans lesquels ils se trouvent (colonne A). Le défi est de savoir comment trouver le nom d’un continent à partir du nom du pays?
Cette première option n’est pas sophistiquée et ferait certains utilisateurs d’Excel secouer la tête de dégoût. Mais nous pourrions simplement dupliquer la colonne A en la copiant dans la colonne C, puis effectuer une RECHERCHEV standard. Cette solution fonctionnerait parfaitement bien.
=VLOOKUP("Indonesia",B2:C19,2,FALSE)
Cette formule renverrait l’Asie comme résultat.
Il existe de nombreuses façons dont ce n’est pas la meilleure pratique, mais parfois nous n’avons tout simplement pas besoin d’une solution compliquée. Dans ces circonstances, cette solution fonctionnera parfaitement bien.
Nous pouvons utiliser les fonctions INDEX / MATCH. Il s’agit d’une combinaison de deux fonctions distinctes, INDEX et MATCH. Examinons brièvement chacun de ces éléments.
La fonction MATCH renverra un nombre indiquant où dans une liste une valeur spécifique a été trouvée. Donc, si nous devions utiliser une formule MATCH pour trouver l’Indonésie dans les cellules B2-B19, elle renverrait 5, car il s’agit de la 5ème ligne de cette plage.
Le format de la formule de correspondance est:
=MATCH(lookup_value, lookup_array, match_type)
La fonction MATCH est similaire à VLOOKUP, mais elle ne nécessite pas de numéro d’index de colonne. Il recherchera uniquement dans la liste des cellules contenues dans le tableau de recherche et ne retournera que le numéro de position.
MATCH a les critères match_type, c’est similaire à VLOOKUP. Nous voudrons utiliser 0 dans la plupart des cas pour créer une correspondance exacte.
La formule INDEX renvoie une valeur de cellule basée sur le numéro de position d’une plage donnée.
Après avoir utilisé MATCH pour trouver que l’Indonésie est à la 5ème ligne, nous pouvons utiliser la formule INDEX pour trouver le 5ème élément de la plage.
=INDEX(A2:A19,5)
La formule INDEX renverrait l’Asie en conséquence.
Il est possible de combiner INDEX / MATCH en une seule formule; il n’est pas nécessaire de calculer les fonctions dans des colonnes séparées. En utilisant notre exemple, la formule complète serait la suivante:
=INDEX(A2:A19,MATCH("Indonesia",B2:B19,0))
S’il s’agit de votre première introduction à INDEX / MATCH, je vous recommande de prendre le temps d’en savoir plus sur son fonctionnement, car il s’agit d’une combinaison de formules très puissante, qui peut faire beaucoup, bien plus que simplement remplacer RECHERCHEV.
C’est de loin l’option la plus compliquée et la plus difficile à comprendre. Mais lorsqu’il est combiné avec la fonction CHOOSE, il est possible pour RECHERCHEV de regarder dans n’importe quelle direction. La formule combinée RECHERCHEV et CHOISIR ressemblerait à ceci:
=VLOOKUP("Indonesia",CHOOSE({1,2},B2:B19,A2:A19),2,FALSE)
Décomposons la fonction CHOOSE pour comprendre ce qui se passe:
=VLOOKUP("Indonesia",CHOOSE({1,2},B2:B19,A2:A19),2,FALSE)
La fonction CHOOSE dans cette situation définit dans quelle colonne se trouve quelle. Les nombres dans {} représentent les numéros de colonne et les plages après {} représentent les plages de cellules auxquelles ils se rapportent. Les sections en surbrillance rouge ci-dessous montrent que la colonne 1 est définie comme les cellules B2-B19.
=VLOOKUP("Indonesia",CHOOSE({1,2},B2:B19,A2:A19),2,FALSE)
Les sections en surbrillance rouge ci-dessous montrent maintenant que la colonne 2 est définie comme les cellules A2-A19.
=VLOOKUP("Indonesia",CHOOSE({1,2},B2:B19,A2:A19),2,FALSE)
Nous pouvons ajouter autant de colonnes que nous le voulons, mais chaque nombre dans le {} doit avoir une plage correspondante dans la formule CHOOSE. De plus, les nombres entre {} doivent être séquentiels. À titre d’exemple, si nous avions 3 colonnes, nous pourrions définir notre formule comme suit:
=VLOOKUP([lookup_value],CHOOSE({1,2,3},[lookup_range1],[lookup_range2], [lookup_range_3]),3,FALSE)
Il existe de nombreuses façons d’effectuer une recherche vers la gauche. En fonction de votre niveau de compétence Excel et de la complexité de votre situation, vous pouvez choisir une solution qui fonctionnera pour vous. De nombreux utilisateurs d’Excel pensent que RECHERCHEV ne peut pas rechercher vers la gauche, mais vous savez maintenant que lorsqu’il est combiné avec la fonction CHOOSE, cela est possible.
Téléchargez la feuille de triche Advanced VLOOKUP. Il comprend la plupart des conseils et astuces que nous avons couverts dans cette série, y compris des calculs plus rapides, plusieurs critères, la recherche à gauche et bien plus encore.
N’oubliez pas:
Si vous avez trouvé cet article utile ou si vous avez une meilleure approche, veuillez laisser un commentaire ci-dessous.
Avez-vous besoin d’aide pour l’adapter à vos besoins?
Je suppose que les exemples de cet article ne correspondaient pas exactement à votre situation. Nous utilisons tous Excel différemment, il est donc impossible d’écrire un article qui répondra aux besoins de chacun. En prenant le temps de comprendre les techniques et principes de cet article (et ailleurs sur ce site) vous devriez pouvoir l’adapter à vos besoins.
Mais si vous avez encore du mal, vous devriez: