Ссылка на другой лист по переменной ячейки?

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

Моя формула такова:

=IF(B2="",(HLOOKUP($A$2,'Sheet 1'!$C$5:$AB$200,2)),(HLOOKUP($B$2,'Sheet 1'!$C$5:$AB$200,2)))

Лист 1 - это лист, на который здесь ссылаются статически, однако ячейка A5 будет ячейкой, которая определяет, на какой лист смотреть. Вместо того, чтобы говорить "Лист 1", это должно быть что-то похожее на = A5

Я читал об использовании КОСВЕННО, но не могу заставить это работать

=IF(B2="",(HLOOKUP($A$2,(INDIRECT(CONCATENATE("'",A5,"'"))!$C$5:$AB$200,2)),(HLOOKUP($B$2,(INDIRECT(CONCATENATE("'",A5,"'"))!$C$5:$AB$200,2)))

Если кто-то может помочь, это будет очень признательно


person K20GH    schedule 15.07.2014    source источник


Ответы (2)


Чтобы использовать Indirect, вам нужно построить весь адрес в виде строки

eg

INDIRECT("'" & A5 & "'!$C$5:$AB$200")
person chris neilsen    schedule 15.07.2014

лист1: имеет ячейку A5 = 55

лист2: имеет ячейку A5 = 125

лист2: имеет ячейку D2 = лист1

sheet2: имеет ячейку F3 = INDIRECT ("'" & D2 & "'! A5")

sheet2: теперь ячейка F3 = 55


теперь дублируйте лист2

копия листа2: изменить значение D2 = sheet2

копия листа2: теперь ячейка F3 = 125


Я потратил час, чтобы понять это. Надеюсь, это кому-нибудь поможет.

Спасибо.

person hungry    schedule 13.10.2014