![](https://cdn.wiki-base.com/6040444/excel_formula_dynamic_lookup_table_with_indirect__2.png.webp)
Obecný vzorec
=VLOOKUP(A1,INDIRECT("text"),column)
souhrn
Chcete-li povolit dynamickou vyhledávací tabulku, můžete použít funkci INDIRECT s pojmenovanými rozsahy uvnitř VLOOKUP. V zobrazeném příkladu je vzorec v G5:
=VLOOKUP(F5,INDIRECT(E5),2,0)
Pozadí
Účelem tohoto vzorce je umožnit snadný způsob přepínání rozsahů tabulek uvnitř vyhledávací funkce. Jedním ze způsobů, jak to zvládnout, je vytvořit pojmenovaný rozsah pro každou potřebnou tabulku a poté odkazovat na pojmenovaný rozsah uvnitř VLOOKUP. Pokud se však pokusíte VLOOKUPu dát pole tabulky ve formě textu (tj. „Tabulka1“), vzorec selže. Funkce INDIRECT je nutná k překladu textu na platný odkaz.
Vysvětlení
Jádrem je standardní vzorec VLOOKUP. Jediným rozdílem je použití INDIRECT k vrácení platného pole tabulky.
V zobrazeném příkladu byly vytvořeny dva pojmenované rozsahy: „tabulka1“ (B4: C6) a „tabulka2“ (B9: C11) *.
V G5 INDIRECT vyzvedne text v E5 a přeloží jej na pojmenovaný rozsah „table1“, který se převede na B4: C6, který se vrátí do VLOOKUP. VLOOKUP provede vyhledávání a vrátí 12 pro barvu „modrá“ v tabulce1.
V G6 je proces stejný. Text v E6 přechází na „tabulku2“, která přechází na B9: C11. Se stejnou vyhledávací hodnotou vrátí VLOOKUP 24.
* Poznámka: rozsahy jmen ve skutečnosti vytvářejí absolutní odkazy jako $ B $ 9: $ C $ 11, ale vynechal jsem syntaxi absolutních odkazů, aby se popis snáze četl.