Краткое пояснение: При удалении листов 3D-ссылки и ссылки на отдельные листы перестают работать. Формула массива с функцией INDIRECT позволяет динамически обращаться к листам по их именам, указанным в ячейках, и корректно обрабатывать ситуацию, когда некоторые листы отсутствуют.
Пошаговое решение:
- Понимание проблемы: Стандартные 3D-ссылки (например, =СУММ(Лист1:Лист10!A1)) и прямые ссылки на листы ломаются, если листы удаляются из книги Excel.
- Анализ вариантов:
- 3D-ссылка: Не подходит, так как она работает только с непрерывным диапазоном листов.
- Функция CHOOSE: Не подходит, так как она выбирает значение из списка по номеру, а не по имени листа, которое может меняться или отсутствовать.
- Функция VLOOKUP: В данном случае неприменима, так как VLOOKUP ищет значение в первом столбце указанного диапазона и возвращает значение из той же строки, а нам нужно собрать данные с разных листов по их именам.
- Сводные таблицы: Могут использоваться для агрегации данных, но не являются прямым методом сбора значений из ячеек с разных листов с учетом возможных удалений.
- Формула массива с ЕСЛИОШИБКА(ДВССЫЛ) или IFERROR(INDIRECT(...)): Этот вариант наиболее подходит. Функция INDIRECT преобразует текстовую строку (имя листа + адрес ячейки) в ссылку на ячейку. ЕСЛИОШИБКА (или IFERROR) позволяет обработать ошибку, которая возникнет, если лист, на который ссылается INDIRECT, удален, и вернуть заданное значение (например, 0 или пустую строку). Формула массива позволяет применить это к каждому листу.
- Формулировка решения: Нужно создать формулу массива, которая будет использовать функцию INDIRECT для формирования ссылок на ячейку D5 каждого листа, имя которого указано в столбце А, и обрабатывать ошибки с помощью ЕСЛИОШИБКА.
Пример формулы (вводятся как формула массива):
=ЕСЛИОШИБКА( ext{ДВССЫЛ}( ext{'Список'!A2}&