Это не вопрос области действия имен. Это вопрос указания ячеек в имени.
Представьте, что я создал имя =A1+B2
.
Это жестко закодировано Excel в Sheet1!A1+Sheet1!B2
. Но я не хочу, чтобы эти ячейки были привязаны к Sheet1
.
Я хочу использовать это имя на нескольких рабочих листах. Если я использую это имя на Листе1, я хочу, чтобы имя было эквивалентно Sheet1!A1+Sheet1!B2
. Но если я использую это имя на Листе2, я хочу, чтобы оно было эквивалентно Sheet2!A1+Sheet2!B2
.
Возможно ли это? Если да, то как?
решение1
правка: это, вероятно, не будет работать с именованными диапазонами.
Вы можете использовать эту формулу (найденную наextendoffice.com) для получения имени текущего листа (обратите внимание, что файл должен быть сначала сохранен, это не сработает для новой пустой книги):
=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)
Объедините это с an, INDIRECT
чтобы получить значение A1
:
=INDIRECT(MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)&"!A1")
И затем окончательная формула для объединения вашего A1
и B2
:
=INDIRECT(MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)&"!A1")+INDIRECT(MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)&"!B2")