Формула Excel: Динамічне посилання на робочий аркуш -

Зміст

Загальна формула

=INDIRECT(sheet_name&"!A1")

Резюме

Для створення формули з динамічним іменем аркуша ви можете використовувати функцію INDIRECT. У наведеному прикладі формула в C6 така:

=INDIRECT(B6&"!A1")

Примітка: Сенс INDIRECT тут полягає у створенні формули, де ім’я аркуша є динамічною змінною. Наприклад, ви можете змінити назву аркуша (можливо, за допомогою випадаючого меню) і втягнути інформацію з іншого аркуша.

Пояснення

Функція INDIRECT намагається оцінити текст як посилання на робочий аркуш. Це дає змогу створювати формули, які збирають посилання як текст за допомогою конкатенації та використовують отриманий текст як дійсне посилання.

У цьому прикладі ми маємо імена аркушів у стовпці B, тому ми приєднуємо ім’я аркуша до посилання на клітинку A1 за допомогою об’єднання:

=INDIRECT(B6&"!A1")

Після конкатенації ми маємо:

=INDIRECT("Sheet1!A1")

INDIRECT розпізнає це як дійсне посилання на комірку A1 у аркуші1 і повертає значення в A1, 100. У комірці C7 формула обчислюється так:

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

І так далі для кожної формули у стовпці C.

Обробка пробілів та пунктуація в назвах аркушів

Якщо імена аркушів містять пробіли або розділові знаки, вам потрібно буде скоригувати формулу, щоб обернути назву аркуша в одинарні лапки ('), як це:

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

де аркуш_назви - це посилання, що містить ім'я аркуша. Для прикладу на цій сторінці формула буде такою:

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

Зверніть увагу, що ця вимога не стосується функції INDIRECT. Будь-яка формула, яка посилається на назву аркуша з пробілом або розділовими знаками, повинна містити назву аркуша в одинарних лапках.

Цікаві статті...