![](https://cdn.wiki-base.com/6721394/excel_formula_dynamic_workbook_reference__2.png.webp)
Загальна формула
=INDIRECT("'("&workbook&")"&sheet&"'!"&ref)
Резюме
Для побудови динамічного посилання на робочий аркуш - посилання на іншу книгу, яка створюється за допомогою формули на основі змінних, які можуть змінюватися, - ви можете використовувати формулу на основі функції INDIRECT.
У наведеному прикладі формула в Е6 має вигляд:
=INDIRECT("'("&B6&")"&C6&"'!"&D6)
Пояснення
Суть цієї формули полягає у створенні повного посилання на діапазон в іншій книзі як тексту, а потім за допомогою функції INDIRECT для перетворення тексту на фактичне посилання.
Посилання на зовнішній аркуш виглядає так:
'(зразок даних.xlsx) Аркуш1'! A1
Зверніть увагу на квадратні дужки (()) навколо назви книги, одинарні лапки ('') навколо аркуша + аркуша та знак оклику (!), Що йде далі.
Щоб створити подібне посилання за допомогою тексту, ми використовуємо конкатенацію для об’єднання значень із стовпців B, C та D з необхідними дужками, лапками та знаком оклику:
=INDIRECT("'("&B6&")"&C6&"'!"&D6)
Результат подається в INDIRECT як ref_text:
=INDIRECT("'(sample data.xlsx)Sheet1'!A1")
Потім функція INDIRECT обробляє текст і перетворює його на посилання. Excel слідує за посиланням і повертає значення за вказаним посиланням.
Примітка: якщо посилання недійсне або якщо книга, на яку посилається, не відкрита, INDIRECT видасть помилку #REF. Ви можете виявити цю помилку за допомогою функції IFERROR і відобразити власний результат, якщо хочете.