
Общая формула
=INDIRECT("'("&workbook&")"&sheet&"'!"&ref)
Резюме
Чтобы создать динамическую ссылку на рабочий лист - ссылку на другую книгу, созданную с помощью формулы на основе переменных, которые могут изменяться, - вы можете использовать формулу на основе функции ДВССЫЛ.
В показанном примере формула E6 имеет следующий вид:
=INDIRECT("'("&B6&")"&C6&"'!"&D6)
Объяснение
Суть этой формулы состоит в том, чтобы создать полную ссылку на диапазон в другой книге в виде текста, а затем использовать функцию ДВССЫЛ, чтобы преобразовать текст в фактическую ссылку.
Ссылка на внешний лист выглядит так:
'(пример data.xlsx) Sheet1'! A1
Обратите внимание на квадратные скобки (()) вокруг имени книги, одинарные кавычки ('') вокруг листа + листа и восклицательный знак (!), Который следует за ними.
Чтобы создать такую ссылку с использованием текста, мы используем конкатенацию для соединения значений из столбцов B, C и D с необходимыми скобками, кавычками и восклицательным знаком:
=INDIRECT("'("&B6&")"&C6&"'!"&D6)
Результат передается в INDIRECT как ref_text:
=INDIRECT("'(sample data.xlsx)Sheet1'!A1")
Затем функция ДВССЫЛ оценивает текст и преобразует его в ссылку. Excel следует по ссылке и возвращает значение по указанной ссылке.
Примечание. Если ссылка недействительна или указанная книга не открыта, ДВССЫЛКА выдаст ошибку # ССЫЛКА. Вы можете перехватить эту ошибку с помощью функции ЕСЛИОШИБКА и, если хотите, отобразить собственный результат.