
Загальна формула
=ISREF(INDIRECT("sheetname"&"!A1"))
Резюме
Щоб перевірити, чи існує в аркуші назва робочого аркуша, можна скористатися формулою, заснованою на функціях ISREF та INDIRECT. У наведеному прикладі формула в С5 має вигляд:
=ISREF(INDIRECT(B5&"!A1"))
Пояснення
Функція ISREF повертає TRUE для дійсного посилання на робочий аркуш, а FALSE - ні.
У цьому випадку ми хочемо з’ясувати, чи певний аркуш існує у книзі, тому ми створюємо повне посилання, об’єднуючи назви аркушів у стовпці B знаком оклику та „A1”:
B5&"!A1"
Це повертає текст:
"Sheet1!A1"
який переходить у функцію INDIRECT. Потім INDIRECT намагається оцінити текст як посилання.
Коли INDIRECT вдається, посилання передається в ISREF, який повертає TRUE. Коли INDIRECT не може створити посилання, він видає помилку #REF, а ISREF повертає FALSE.
Робота з пробілами та пунктуацією в назвах аркушів
Якщо імена аркушів містять пробіли або розділові знаки, вам потрібно буде скоригувати формулу, щоб обернути назву аркуша в одинарні лапки, як це:
=ISREF(INDIRECT("'"&sheetname&"'!A1"))