
Общая формула
=ISREF(INDIRECT("sheetname"&"!A1"))
Резюме
Чтобы проверить, существует ли имя рабочего листа в книге, вы можете использовать формулу, основанную на функциях ISREF и INDIRECT. В показанном примере формула C5 имеет следующий вид:
=ISREF(INDIRECT(B5&"!A1"))
Объяснение
Функция ISREF возвращает TRUE для действительной ссылки на лист, а FALSE - нет.
В этом случае мы хотим узнать, что конкретный лист существует в книге, поэтому мы создаем полную ссылку, объединяя имена листов в столбце B с восклицательным знаком и «A1»:
B5&"!A1"
Это возвращает текст:
"Sheet1!A1"
который входит в функцию КОСВЕННО. Затем INDIRECT пытается оценить текст как ссылку.
Когда INDIRECT завершается успешно, ссылка передается в ISREF, который возвращает TRUE. Когда INDIRECT не может создать ссылку, он выдает ошибку #REF, а ISREF возвращает FALSE.
Работа с пробелами и пунктуацией в именах листов
Если имена листов содержат пробелы или знаки препинания, вам необходимо настроить формулу, чтобы заключить имя листа в одинарные кавычки, например:
=ISREF(INDIRECT("'"&sheetname&"'!A1"))