Ссылка на ячейку на основе имени листа

Ссылка на ячейку на основе имени листа

У меня есть одна рабочая тетрадь.

В нем у меня есть несколько листов, которые я переименовал в номера, причем первый лист — это база данных, из которой я хочу извлечь номер.

лист1переименован в A: содержит данные, которые я хочу извлечь
лист2переименовано в 1: формула в ячейке B3должна быть=A!B1
лист3переименовано в 2: формула в ячейке B3должна быть=A!B2
лист4переименовано в 3: формула в ячейке B3должна быть=A!B3
лист5переименовано в 4: формула в ячейке B3должна быть=A!B4

Я могу извлечь имя листа, которое я переименовал в цифру выше, с помощью этой формулы

IF(ISERROR(RIGHT(CELL("filename";$A$1);LEN(CELL("filename";$A$1))-FIND("]";CELL("filename";$A$1))));"This workbook never saved";RIGHT(CELL("filename";$A$1);LEN(CELL("filename";$A$1))-FIND("]";CELL("filename";$A$1))))

Но я не могу использовать его для изменения ссылки на ячейку так, чтобы в листе 1была =A!B1и в листе 2была =A!B2
ссылка на ячейку менялась всякий раз, когда я меняю имя листа.

Может ли кто-нибудь помочь мне с этим, чтобы формула была примерно такой:=A!B(sheetname)

решение1

Попробуй это

=INDIRECT("A!B"&yourformula)

Одним из недостатков INDIRECTявляется то, что если вы измените имя листа A, например Kitchen, , формула не обновится до "Kitchen!B"&yourformula.

И, пожалуйста, помните, что INDIRECTэто неэлегантный способ решения проблем. Это ужасно медленно, особенно когда вы имеете дело с МНОГОМ КОСВЕННЫХ!!

Связанный контент