Используйте строковое значение из ячейки для доступа к листу с тем же именем
У меня есть 2 листа: Summary
и SERVER-ONE
.
В ячейке A5
на листе Сводка я добавил значение SERVER-ONE
.
Рядом с ним в ячейке B5
мне нужна формула, которая использует значение в A5
для отображения значения G7
в листе с тем же именем (SERVER-ONE
).
Я мог бы вручную использовать:
='SERVER-ONE'!G7
Однако я бы хотел, чтобы это было динамическим, поэтому я могу легко добавить больше рабочих листов.
Я пробовал очевидное без радости:
='A5'!G7
Любые предложения?
Ответы
Ответ 1
Вы можете использовать формулу INDIRECT()
.
Это в основном принимает строку и рассматривает ее как ссылку. В вашем случае вы будете использовать:
=INDIRECT("'"&A5&"'!G7")
Двойные кавычки должны показать, что внутри строки, и только A5
здесь является ссылкой.
Ответ 2
Вам нужна функция INDIRECT
:
=INDIRECT("'"&A5&"'!G7")
Ответ 3
Не уверен, что вы решили свой вопрос, но я нашел, что это работало, чтобы увеличить номер строки при перетаскивании.
= INDIRECT("'"&$A$5&"'!$G"&7+B1)
Где B1 относится к номеру индекса, начиная с 0.
Итак, если вы скопируете как ячейку индекса, так и ячейку с косвенной формулой, вы увеличите косвенное.
Возможно, вы также можете создать более элегантный счетчик с функцией индекса.
Надеюсь, что это поможет.
Ответ 4
INDIRECT - это функция, которую вы хотите использовать. Например:
=INDIRECT("'"&A5&"'!G7")
С помощью INDIRECT вы можете построить формулу в виде текстовой строки.
Ответ 5
Используя функцию ROW()
, я могу перетащить эту формулу по вертикали. Его также можно перетаскивать горизонтально, так как перед D
нет $
.
= INDIRECT("'"&D$2&"'!$B"&ROW())
Мой макет имеет имена листов в заголовках столбцов (B2
, C2
, D2
и т.д.) и отображает несколько значений строк из столбца B
в каждом листе.
Ответ 6
Вот решение, использующее INDIRECT, которое, если вы перетащите формулу, будет соответствующим образом выбирать разные ячейки из целевого листа. Он использует нотацию R1C1 и не ограничивается только работой с столбцами A-Z.
=INDIRECT("'"&$A$5&"'!R"&ROW()&"C"&COLUMN(),FALSE)
Эта версия выбирает значение из целевой ячейки, соответствующей ячейке, где размещена формула. Например, если вы поместите формулу в "Сводка"! B5, тогда она выберет значение из "SERVER-ONE"! B5, а не "SERVER-ONE"! G7, как указано в исходном вопросе. Но вы можете легко добавить смещения в строку и столбец для достижения желаемого отображения в любом случае.
Ответ 7
Guess @user3010492 протестировал его, но я использовал его с фиксированной ячейкой A5 → $A $5 и фиксированным элементом G7 → $G7
=INDIRECT("'"&$A$5&"'!$G7")
Также отлично работает в другой формуле, если вы заключите его в скобки.
Ответ 8
Это будет работать только с столбцом Z, но вы можете перетащить его по горизонтали и по вертикали.
=INDIRECT("'"&$D$2&"'!"&CHAR((COLUMN()+64))&ROW())