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

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

sheet1 переименован в A: содержит данные, из которых я хочу получить
sheet2 переименован в 1: формула в ячейке B3 должна быть =A!B1
sheet3 переименован в 2: формула в ячейке B3 должна быть =A!B2
sheet4 переименован в 3: формула в ячейке B3 должна быть =A!B3
sheet5 переименован в 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 ответ1

0

Попробуй это

=INDIRECT("A!B"&yourformula)

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

И , пожалуйста , помните , что INDIRECT является unelegant способом решения проблем. Это ужасно медленно, особенно когда вы имеете дело с ОЧЕНЬ НЕПРЯМОНЫМИ !!

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