Ошибки в формулах и ЕСЛИОШИБКА
Содержание курса
Синтаксис ЕСЛИОШИБКА и выбор запасного значения
Когда ошибка ожидаемая — например, ВПР не всегда находит совпадение, и это нормально для конкретной задачи — код ошибки в ячейке выглядит некрасиво и мешает читать отчёт. Для таких случаев есть функция ЕСЛИОШИБКА.
Синтаксис:
=ЕСЛИОШИБКА(значение; значение_если_ошибка)
Первый аргумент — это ваша основная формула. Второй — то, что Excel покажет вместо кода ошибки, если первый аргумент вернёт любую ошибку (#ЗНАЧ!, #ДЕЛ/0!, #ИМЯ?, #ССЫЛКА!, #Н/Д — ЕСЛИОШИБКА перехватывает все). Если первый аргумент вычисляется без ошибки, второй аргумент просто игнорируется.
Пример с ВПР:
=ЕСЛИОШИБКА(ВПР(A2;$D$2:$E$10;2;0);"Не найдено")
Если товар из A2 есть в диапазоне D2:E10, функция вернёт цену из второго столбца. Если нет — вернёт текст «Не найдено» вместо #Н/Д.
Пример с делением:
=ЕСЛИОШИБКА(B2/C2; "Нет базы")
Если C2 равен нулю или пуст, в ячейке появится понятная метка. Отсутствие базы не равно нулевому показателю, поэтому подставлять 0 можно только тогда, когда предметное правило явно определяет результат как ноль.
Выбор второго аргумента зависит от того, как потом используется этот столбец:
- Текст вроде «Не найдено» или «—» подходит для отчётов, которые читает человек.
- Число
0подходит только когда ошибка по смыслу действительно означает нулевой результат. Иначе ноль исказит средние и смешает отсутствие данных с реальным нулём. - Пустая строка
""или текстовая метка подходят для отсутствующих данных; последующие расчёты должны явно обрабатывать такой пропуск.
В этом примере нужно перехватить #Н/Д от самой ВПР, поэтому оборачивайте ВПР целиком: =ЕСЛИОШИБКА(ВПР(...); "Не найдено"). Обёртка только вокруг A2 решает другую задачу и не перехватит ошибку, которую вернула ВПР. В других формулах ЕСЛИОШИБКА можно осознанно применять и к отдельному выражению, если требуется обработать именно его ошибку.
