2014-01-14 8 views
1

Я пытаюсь использовать INDIRECT() для установки диапазона для функции VLOOKUP() на основе определенного числового значения. При выполнении формулы VLOOKUP() функция INDIRECT() возвращает то, что кажется приемлемым для моих целей. Однако при запуске формулы возвращается ошибка «# N/A», и я не уверен, почему.Использование INDIRECT() для установки динамического диапазона с помощью VLOOKUP()

Чтобы дать немного больше аромата, я использую LEFT() и ADDRESS() для определения заголовка заголовка столбца на основе MATCH() отдельного значения в верхней строке. Используя фиксированное смещение, функции MATCH() возвращают правильные заголовки столбцов, и я предоставляю константы для диапазона. Ниже моя формула:

=VLOOKUP(J2,INDIRECT("$"&LEFT(ADDRESS(1,MATCH($H2,ZAS_Lookup,0)+8,4),1+(MATCH($H2,ZAS_Lookup,0)+8>26))&"$1:$"&LEFT(ADDRESS(1,MATCH($H2,ZAS_Lookup,0)+9,4),1+(MATCH($H2,ZAS_Lookup,0)+9>26))&"$29"),2,TRUE) 

Как я уже говорил, когда пошаговое до последнего шага до окончательного расчета, формула выглядит так, будто она будет конденсироваться вниз к следующему:

=VLOOKUP(5,$DW$1:$DX$29,2,TRUE) 

Это не случай, однако, так как он возвращает # N/A. Любая идея почему? Нужно ли использовать другую функцию для динамического изменения диапазона?

+0

что вы получаете, если используете напрямую '= VLOOKUP (5, $ DW $ 1: $ DX $ 29,2, TRUE)'? –

+0

"Если значение _lookup_value_ меньше наименьшего значения в первом столбце _table_array_,' VLOOKUP' возвращает значение ошибки # N/A "- из документации MS. Это правда для вас? http://office.microsoft.com/en-us/excel-help/vlookup-HP005209335.aspx –

+0

Использование его непосредственно сработало, поэтому почему я был так смущен. Однако я упускал из виду тот факт, что, когда вы используете INDIRECT, вам нужно включить имя вкладки, я считаю, даже если таблица находится на той же вкладке, что и поиск. – Nate

ответ

0

Я понял, что мне нужно было назвать вкладку, на которой находится таблица. Недостаточно просто установить диапазоны - мне также нужно было указать Excel, в котором был включен стол.