Функция ISERROR в Excel: как находить и обрабатывать ошибки

Что делает ISERROR
ISERROR возвращает логическое значение TRUE, если аргумент — ошибка любого типа, и FALSE, если ошибки нет. Это быстрый способ пометить проблемные результаты перед дальнейшей обработкой данных.
Определение: ISERROR(value) — функция, принимающая одно значение или ссылку и проверяющая, является ли оно ошибкой.
Синтаксис
=ISERROR(value)Где value — ячейка, формула или выражение, которое вы хотите проверить.
Когда использовать ISERROR
- Чтобы пометить результаты вычислений с ошибками до их отображения в отчёте.
- В сочетании с IF для вывода удобочитаемых сообщений вместо кода ошибки.
- При очистке большого набора данных перед сводными таблицами или анализом.
Важно: ISERROR будет истинно для любой ошибки, включая #N/A, #DIV/0!, #VALUE!, #REF!, #NAME?, #NUM!, #NULL!. Если нужен только #N/A, используйте ISNA.
Пример 1 — проверка деления на ноль
Предположим, в столбце A и B находятся числа. При делении A на B может возникнуть ошибка #DIV/0!.
- В ячейке C2 введите формулу деления:
=A2/B2- В ячейке D2 проверьте результат:
=ISERROR(C2)Если C2 содержит ошибку, D2 вернёт TRUE, иначе — FALSE. Скопируйте формулы вниз по столбцу.
Пример 2 — обработка #N/A при поиске
При использовании VLOOKUP результат может быть #N/A, если значение не найдено. Обёртка в ISERROR позволяет вернуть читабельное сообщение.
=IF(ISERROR(VLOOKUP("Customer Name", A:B, 2, FALSE)), "Клиент не найден", VLOOKUP("Customer Name", A:B, 2, FALSE))Замените “Customer Name” на искомое имя. Логика формулы:
- VLOOKUP ищет значение.
- ISERROR проверяет, вернул ли VLOOKUP ошибку.
- IF выводит сообщение «Клиент не найден» или сам результат поиска.
Альтернативы и когда их использовать
- IFERROR(value, value_if_error) — более короткая и часто предпочтительная замена. Сразу возвращает запасное значение без вложенного IF+ISERROR.
=IFERROR(VLOOKUP("Customer Name", A:B, 2, FALSE), "Клиент не найден")ISNA(value) — возвращает TRUE только для #N/A. Полезно, когда нужно отличать отсутствующие данные от других ошибок.
ERROR.TYPE(value) — возвращает числовой код типа ошибки, если нужно различать виды ошибок программно.
Проверки данных и валидация предотвращают появление многих ошибок до расчётов.
Когда ISERROR не подходит (контрпримеры)
- Если нужно вернуть альтернативное значение в одной строке — IFERROR проще и компактнее.
- Если важно обработать только #N/A, а другие ошибки нужно логировать — используйте ISNA.
- Для отладки формул иногда полезно увидеть оригинальную ошибку, а не маскировать её сообщением — в этом случае ISERROR+IF может скрыть причину.
Практический чеклист — аудитор формул
Для аналитика, работающего с отчётами:
- Проверьте реальные ошибки: фильтр по ячейкам с # на листе.
- Используйте ISERROR/IFERROR для пользовательских сообщений.
- Логируйте тип ошибки (ERROR.TYPE) для сложных отчётов.
- Исправьте корневую причину: деление на ноль, неверные диапазоны, опечатки в именах столбцов.
Для разработчика шаблонов Excel:
- Предпочитайте IFERROR там, где не нужна детализация ошибки.
- Используйте валидацию ввода для чисел и дат.
- Покройте тестами ключевые сценарии с нулевыми и пустыми значениями.
Сниппет: быстрые формулы (шпаргалка)
- Маскировать любую ошибку:
=IF(ISERROR(A1), "Ошибка", A1)- Короткая запись через IFERROR:
=IFERROR(A1, "Ошибка")- Обработка только #N/A:
=IF(ISNA(VLOOKUP(B1, A:C, 2, FALSE)), "Не найдено", VLOOKUP(B1, A:C, 2, FALSE))- Получить код ошибки:
=IF(ISERROR(A1), ERROR.TYPE(A1), "OK")Ментальные модели и правила на практике
- «Выявлять — затем исправлять»: сначала отмечайте ошибки метками (ISERROR), затем устраняйте первопричины.
- «Не маскируйте всё»: маскировка ошибок удобна для интерфейса, но скрывает причины. Логируйте исходные ошибки в отдельный лист.
- «Выбор инструмента по цели»: IFERROR — UX-дружественный; ISERROR + ERROR.TYPE — диагностический.
Мини‑методология: быстрый аудит листа (4 шага)
- Поиск ошибок: Ctrl+F, найдите «#».
- Маркировка: рядом вставьте =ISERROR(ячейка).
- Категоризация: примените ERROR.TYPE для помеченных.
- Исправление: исправьте данные или добавьте обработку (IFERROR/ISNA).
Диаграмма принятия решения
flowchart TD
A[Есть ошибка в формуле?] -->|Да| B{Хотите показать запасное значение}
B -->|Да| C[Использовать IFERROR]
B -->|Нет| D{Нужно только #N/A?}
D -->|Да| E[Использовать ISNA]
D -->|Нет| F[Использовать ISERROR + ERROR.TYPE]
A -->|Нет| G[Оставить как есть]Критерии приёмки
- Все ключевые расчёты не содержат необработанных ошибок в финальных отчётах.
- Пользовательские сообщения вместо ошибок понятны и информативны.
- Логи ошибок сохраняют исходный код ошибки и контекст (ячейка, формула).
Примечания и рекомендации
Important: IFERROR доступна в Excel 2007 и новее. В старых версиях используйте IF+ISERROR.
Note: Маскируйте ошибки только в презентационном слое; в рабочем слое желательно видеть исходные ошибки.
Вывод
ISERROR — простой инструмент для обнаружения любых ошибок в ячейках. Он полезен при предварительной очистке данных и создании диагностических проверок. Для пользовательского интерфейса чаще используют IFERROR, а для точной диагностики — ISNA и ERROR.TYPE. Применяйте методологию «обнаружить, классифицировать, исправить», чтобы повысить качество данных и надёжность отчётов.
Ключевые шаги: поиск ошибок → маркировка → категоризация → исправление.
Похожие материалы
Выровнять ресиновый 3D‑принтер — пошагово
ChatGPT как редактор и коуч для вашего контента
Как делать отличные фото на смартфон
Как сделать Stitch в TikTok — пошагово
Резервные копии iPhone/iPad на Mac — инструкция