Я хотел бы использовать текст, введенный вручную в A1, для ссылки на одну и ту же ячейку с разных листов. Например..

Если A1 содержит текст "собаки", тогда формула в B1 будет иметь следующий вид: собаки!D3 и ссылка на ячейку D3 в листе под названием "собаки". Если текст в A1 будет изменен на "коты", то B1 автоматически адаптируется к = котам!D3

Excel 2013 Спасибо.

1 ответ1

1

Используйте INDIRECT() .  Эта функция принимает адрес ячейки в качестве аргумента и возвращает содержимое именованного вызова.  Например,

=INDIRECT("D3")

по существу эквивалентно

=D3

и, аналогично,

=INDIRECT("cats!D3")

по существу эквивалентно

=cats!D3

Таким образом, простой ответ заключается в

=INDIRECT(A1 & "!D3")

в вызов B1.  & - это оператор объединения строк, поэтому, если A1 содержит "dogs", то A1 & "!D3" оценивает dogs!D3 и функция INDIRECT возвращают содержимое этой ячейки из листа "dogs".

Это простой ответ.  Хорошо, если в именах ваших листов нет пробелов.  Но если у вас есть имя листа, которое содержит пробел (ы), например, «толстый кот», вам нужно заключить это имя в кавычки (одинарные кавычки!) ссылаться на ячейку; например,

='fat cat'!D3

Итак, чтобы справиться с этим непредвиденным обстоятельством, мы просто добавляем кавычки в формулу:

=INDIRECT("'" & A1 & "'!D3")

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