Formule Excel: table de recherche dynamique avec INDIRECT -

Table des matières

Formule générique

=VLOOKUP(A1,INDIRECT("text"),column)

Sommaire

Pour autoriser une table de recherche dynamique, vous pouvez utiliser la fonction INDIRECT avec des plages nommées dans VLOOKUP. Dans l'exemple illustré, la formule en G5 est:

=VLOOKUP(F5,INDIRECT(E5),2,0)

Contexte

Le but de cette formule est de permettre un moyen facile de changer les plages de table dans une fonction de recherche. Une façon de gérer est de créer une plage nommée pour chaque table nécessaire, puis de faire référence à la plage nommée à l'intérieur de RECHERCHEV. Cependant, si vous essayez simplement de donner à RECHERCHEV un tableau sous forme de texte (c'est-à-dire "table1"), la formule échouera. La fonction INDIRECT est nécessaire pour résoudre le texte en une référence valide.

Explication

Au fond, il s'agit d'une formule VLOOKUP standard. La seule différence est l'utilisation d'INDIRECT pour renvoyer un tableau de table valide.

Dans l'exemple illustré, deux plages nommées ont été créées: "table1" (B4: C6) et "table2" (B9: C11) *.

Dans G5, INDIRECT récupère le texte dans E5 et le résout dans la plage nommée "table1", qui se résout en B4: C6, qui est renvoyée à RECHERCHEV. RECHERCHEV effectue la recherche et renvoie 12 pour la couleur «bleu» dans la table1.

Dans G6, le processus est le même. Le texte en E6 se résout en "table2", qui se résout en B9: C11. Avec la même valeur de recherche, VLOOKUP renvoie 24.

* Remarque: les plages de noms créent en fait des références absolues comme $ B $ 9: $ C $ 11, mais j'ai omis la syntaxe de référence absolue pour rendre la description plus facile à lire.

Articles intéressants...