Подтвердить что ты не робот

Используйте строковое значение из ячейки для доступа к листу с тем же именем

У меня есть 2 листа: Summary и SERVER-ONE.

В ячейке A5 на листе Сводка я добавил значение SERVER-ONE.

Рядом с ним в ячейке B5 мне нужна формула, которая использует значение в A5 для отображения значения G7 в листе с тем же именем (SERVER-ONE).

Я мог бы вручную использовать:

='SERVER-ONE'!G7

Однако я бы хотел, чтобы это было динамическим, поэтому я могу легко добавить больше рабочих листов.

Я пробовал очевидное без радости:

='A5'!G7

Любые предложения?

4b9b3361

Ответ 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())