#excel #excel-formula #vba
#excel #excel-формула #vba
Вопрос:
У меня есть 2 файла Excel, на одном я использую vlookup для извлечения данных из другого файла, но моя проблема заключается в следующем:
Файл 1: в этом файле 12 листов с именами, такими как январь, февраль, Marc и т. Д. . Файл 2: на этом у меня есть vlookup, который ссылается на файл 1
Теперь в файле 2 у меня есть ячейка A1, в которой в качестве значения указано слово Январь .
У меня есть эта формула в файле 2
=IFERROR(VLOOKUP(A2,'[Weekly Team Report- Salvador.xlsx]January'!$A$1:$B$3,2,FALSE),"")
Как вы можете видеть, ссылается на лист с именем «Январь»
Я хотел бы знать, есть ли какой-либо способ использовать информацию, которую я имею в ячейке A1, в качестве имени листа, т.Е. Если я изменю значение в своей ячейке A1 на февраль, имя листа в формуле должно измениться на февраль вместо января
Я надеюсь, что кто-нибудь меня поймет : (
Ответ №1:
Да, это то, для чего =INDIRECT()
предназначена формула:
=IFERROR(VLOOKUP(A2,Indirect("'[Weekly Team Report- Salvador.xlsx]" amp; A1 amp; "'!$A$1:$B$3"),2,FALSE),"")
Обратите внимание, что весь диапазон, на который ссылаются, застрял внутри indirect()
формулы в виде строки. А затем мы объединяем значение из A1
в эту строку.
Комментарии:
1. Я не понимаю, почему мы объединяем A1 с January , значение в A1 уже является именем листа, которое я ищу. Я попытался сделать следующее: =IFERROR(VLOOKUP(A2,Indirect(«‘[Еженедельный отчет команды- Salvador.xlsx ]» amp;A1amp;»amp;’!$A $ 1:$ B $ 3″),2, FALSE),»») но это не работает
2. Извиняюсь. Я удалил слово Январь, поскольку это бессмысленно. Попробуйте запустить формулу без косвенного и убедитесь, что она дает правильную ссылку
"'[Weekly Team Report- Salvador.xlsx]" amp; A1 amp; "'!$A$1:$B$3"