![](https://cdn.wiki-base.com/6040444/excel_formula_dynamic_lookup_table_with_indirect__2.png.webp)
Generisk formel
=VLOOKUP(A1,INDIRECT("text"),column)
Resumé
For at tillade en dynamisk opslagstabel kan du bruge funktionen INDIRECT med navngivne områder inden for VLOOKUP. I det viste eksempel er formlen i G5:
=VLOOKUP(F5,INDIRECT(E5),2,0)
Baggrund
Formålet med denne formel er at muliggøre en nem måde at skifte tabelinterval i en opslagsfunktion. En måde at håndtere er at oprette et navngivet interval for hver tabel, der er behov for, og henvis derefter til det navngivne interval inde i VLOOKUP. Men hvis du bare prøver at give VLOOKUP et tabelarray i form af tekst (dvs. "tabel1"), vil formlen mislykkes. INDIRECT-funktionen er nødvendig for at løse teksten til en gyldig reference.
Forklaring
Kernen er dette en standard VLOOKUP-formel. Den eneste forskel er brugen af INDIRECT til at returnere et gyldigt tabelarray.
I det viste eksempel er der oprettet to navngivne områder: "tabel1" (B4: C6) og "tabel2" (B9: C11) *.
I G5 opfanger INDIRECT teksten i E5 og løser den til det navngivne interval "tabel1", som løser til B4: C6, som returneres til VLOOKUP. VLOOKUP udfører opslag og returnerer 12 for farven "blå" i tabel1.
I G6 er processen den samme. Teksten i E6 løser til "tabel2", som løser til B9: C11. Med den samme opslagsværdi returnerer VLOOKUP 24.
* Bemærk: navneområder skaber faktisk absolutte referencer som $ B $ 9: $ C $ 11, men jeg har udeladt den absolutte reference-syntaks for at gøre beskrivelsen lettere at læse.