Формула Excel: Справочник по динамическому рабочему листу -

Содержание

Общая формула

=INDIRECT(sheet_name&"!A1")

Резюме

Чтобы создать формулу с именем динамического листа, вы можете использовать функцию ДВССЫЛ. В показанном примере формула C6:

=INDIRECT(B6&"!A1")

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

Объяснение

Функция ДВССЫЛ пытается оценить текст как ссылку на лист. Это позволяет создавать формулы, которые собирают ссылку в виде текста с помощью конкатенации и используют полученный текст в качестве действительной ссылки.

В этом примере у нас есть имена листов в столбце B, поэтому мы присоединяем имя листа к ссылке на ячейку A1, используя конкатенацию:

=INDIRECT(B6&"!A1")

После конкатенации имеем:

=INDIRECT("Sheet1!A1")

INDIRECT распознает это как действительную ссылку на ячейку A1 в Sheet1 и возвращает значение в A1, 100. В ячейке C7 формула вычисляется следующим образом:

=INDIRECT(B7&"!A1") =INDIRECT("Sheet2!A1") =Sheet2!A1 =200

И так далее для каждой формулы в столбце C.

Обработка пробелов и знаков препинания в именах листов

Если имена листов содержат пробелы или знаки препинания, вам необходимо настроить формулу, чтобы заключить имя листа в одинарные кавычки (') следующим образом:

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

где имя_листа - это ссылка, содержащая имя листа. Для примера на этой странице формула будет выглядеть так:

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

Обратите внимание, что это требование не относится к функции КОСВЕННО. Любая формула, которая ссылается на имя листа с пробелом или пунктуацией, должна заключать имя листа в одинарные кавычки.

Интересные статьи...