2

Я провожу серию тестов данных в различных книгах Excel. Для того, чтобы не нужно было менять все имена рабочих книг в используемых формулах, я считаю целесообразным использовать INDIRECT() и ссылаться на ячейку, в которой я могу написать имя рабочей книги для тестирования. Это работает для обычных задач; Однако у меня возникают проблемы при попытке реализовать его в VLOOKUP . В настоящее время VLOOKUP выглядит следующим образом:

=VLOOKUP(B10;[filename.xlsx]Sheet3!$B$5:$E$37;2;FALSE)

Переменный является filename.xlsx filw , для которых я хотел бы использовать INDIRECT ссылается к клетке с информацией о имени файла. Номер листа и диапазон ячеек не будут меняться. Я перепробовал несколько вариантов, но ни один из них не был плодотворным.

Любой вклад будет высоко ценится!

Здесь ниже один из вариантов, которые я пробовал:

Cell values:
A1: filename
A2: Sheet1 
A3: $B$5:$E$37
B1: "Word to be found"

=VLOOKUP(B1;INDIRECT("'["&A1&"]" &A2&"'!"&A3);2;FALSE)

Это возвращает # N/A ошибку.

1 ответ1

0

Предполагая, что ваш текущий VLOOKUP работает так, как задумано, как =VLOOKUP(B10;[filename.xlsx]Sheet3!$B$5:$E$37;2;FALSE):

=VLOOKUP(B10;INDIRECT("["&A1&"]"&A2&"!"&A3);2;FALSE)

должен делать то, что вам требуется. Помните, что имя файла также должно включать расширение, поэтому A1 должен содержать filename.xlsx . В качестве альтернативы вы можете использовать

=VLOOKUP(B10;INDIRECT("["&A1&".xlsx]"&A2&"!"&A3);2;FALSE)

если вы хотите отрицать это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .