![](https://cdn.wiki-base.com/6040444/excel_formula_dynamic_lookup_table_with_indirect__2.png.webp)
Обща формула
=VLOOKUP(A1,INDIRECT("text"),column)
Обобщение
За да позволите динамична таблица за търсене, можете да използвате функцията INDIRECT с наименовани диапазони вътре в VLOOKUP. В показания пример формулата в G5 е:
=VLOOKUP(F5,INDIRECT(E5),2,0)
Заден план
Целта на тази формула е да позволи лесен начин за превключване на диапазони на таблици във функцията за търсене. Един от начините за справяне е да се създаде именуван диапазон за всяка необходима таблица, след което се обърнете към посочения диапазон вътре в VLOOKUP. Ако обаче просто се опитате да дадете на VLOOKUP табличен масив под формата на текст (т.е. "table1"), формулата ще се провали. Функцията INDIRECT е необходима за преобразуване на текста в валидна препратка.
Обяснение
В основата си това е стандартна формула VLOOKUP. Единствената разлика е използването на INDIRECT за връщане на валиден масив от таблица.
В показания пример са създадени два именувани диапазона: "table1" (B4: C6) и "table2" (B9: C11) *.
В G5, INDIRECT улавя текста в E5 и го разрешава до посочения диапазон "table1", който се разрешава до B4: C6, който се връща към VLOOKUP. VLOOKUP извършва търсене и връща 12 за цвета "син" в table1.
В G6 процесът е същият. Текстът в E6 се преобразува в "table2", който се преобразува в B9: C11. Със същата справочна стойност VLOOKUP връща 24.
* Забележка: диапазоните от имена всъщност създават абсолютни препратки като $ B $ 9: $ C $ 11, но пропуснах абсолютния референтен синтаксис, за да улесня четенето на описанието.