Google sheets как использовать диапазон, получаемый формулой, в формуле VLOOKUP
Использую формулу VLOOKUP в google sheets. Вторым параметром в этой формуле выступает диапазон. Когда в эту формулу диапазон вводится путём "прямого" указания, то всё работает. Пример:
=VLOOKUP(2;$A$1:$B$13;2;false)
если же мы укажем ту же самую формулу путём указания диапазона с помощью формулы ADDRESS в виде:
=VLOOKUP(2;ADDRESS(1;1)&":"&ADDRESS(13;2);2;false)
то формула возвращает ошибку доступа значения. Значение находится за пределами диапазона.
В целом как в формуле VLOOKUP в качестве диапазона использовать значение получаемое формулой ADDRESS?
Ответы (1 шт):
АДРЕС - текстовая функция (возвращает текст)
ADDRESS(1;1)&":"&ADDRESS(13;2) - не ссылка, а обычный текст. Его можно преобразовать в ссылку:
INDIRECT(ADDRESS(1;1)&":"&ADDRESS(13;2))
Но это плохой вариант - текстовые функции медленные. INDIRECT - тоже текстовая, да еще и летучая (пересчитывается при любом изменении на листе) и имеет несколько критичных ограничений. Да и создавать текстовое представление, потом преобразовывать его в ссылку...
Быстрый вариант с динамичным диапазоном:
=VLOOKUP(2;A1:INDEX(B:B;13);2;)
Летучесть этой формулы - только при открытии книги.
При необходимости начало диапазона (A1) тоже можно задать функцией INDEX