Обработка ошибок с помощью IFERROR
Заменяйте любую ошибку резервным значением с помощью IFERROR
«Обработка ошибок с помощью IFERROR» — бесплатный урок Excel Formulas Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Excel Formulas Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Excel Formulas Academy содержит 4 уроков всего.
Знакомство с IFERROR
Функция IFERROR — это универсальная страховка. Она проверяет, выдаёт ли формула какую-либо ошибку, и, если выдаёт, показывает выбранное Вами понятное значение.
Благодаря этому электронная таблица выглядит аккуратно и профессионально. Вместо пугающих кодов вроде #DIV/0!, разбросанных по отчёту, Вы видите полезный текст, например пустое значение или тире.
На этом уроке Вы изучите синтаксис IFERROR и научитесь применять её к реальным формулам.
Синтаксис IFERROR
IFERROR принимает ровно два аргумента:
- значение формула или вычисление, которое нужно выполнить
- значение_при_ошибке что показать, если эта формула выдаст ошибку
Шаблон выглядит так: =IFERROR(your_formula, fallback). Электронная таблица сначала выполняет формулу. Если всё проходит успешно, Вы видите настоящий результат. Если возникает ошибка, вместо него отображается запасной вариант.
=IFERROR(A2/B2, 0)Замена ошибки при делении
Напомним, что деление на пустую ячейку даёт #DIV/0!. Если заключить деление в IFERROR, отображение результата будет исправлено.
Если B2 содержит ноль или пуста, формула вернёт 0 вместо ошибки. Если в B2 находится настоящее число, будет выполнено обычное деление.
В качестве запасного варианта можно также вернуть пустое значение, используя две кавычки "".
=IFERROR(A2/B2, "")Понятные сообщения при поиске
IFERROR особенно полезна при поиске. Если VLOOKUP не находит совпадение, она возвращает #N/A, что может запутать читателей.
Заключив поиск в IFERROR, Вы можете заменить эту ошибку понятным сообщением, например "Not found". Теперь любой читатель листа сразу понимает результат.
Этот простой приём делает отчёты с большим количеством поисковых формул гораздо более понятными и надёжными для совместного использования.
=IFERROR(VLOOKUP(A2,Data!A:B,2,FALSE), "Not found")Возврат другого результата
Запасной вариант не обязательно должен быть обычным текстом. Это может быть другая формула, которая выполнится, если первая формула завершится ошибкой.
Например, если основной поиск не находит результат, можно выполнить поиск в другой таблице. Электронная таблица сначала пробует первый вариант и обращается ко второму только при возникновении ошибки.
Так можно последовательно выполнять несколько попыток, не показывая между ними непонятные ошибки.
=IFERROR(VLOOKUP(A2,Main!A:B,2,0), VLOOKUP(A2,Backup!A:B,2,0))IFERROR перехватывает все ошибки
Важная особенность: IFERROR перехватывает все типы ошибок. Неважно, возвращает ли формула #DIV/0!, #N/A, #VALUE! или #REF! — для любой из них будет показан запасной вариант.
Это удобно, но одновременно служит предупреждением. Поскольку IFERROR скрывает все ошибки, она может замаскировать реальные проблемы, о которых Вам хотелось бы знать.
Если Вы хотите скрывать только отсутствие результатов поиска, безопаснее использовать IFNA. Её Вы изучите на следующем уроке.
Пример отчёта о продажах
Предположим, Вы вычисляете процент роста как разницу между текущим и предыдущим периодом, делённую на значение предыдущего периода. Если значение предыдущего периода равно нулю, для новых товаров появляется #DIV/0!.
Если заключить вычисление в IFERROR и указать текст "New", эти ошибки превратятся в понятную метку. Для уже существующих товаров отображается настоящий процент, а для совершенно новых — New.
Теперь отчёт аккуратно читается от начала до конца.
=IFERROR((B2-C2)/C2, "New")Не скрывайте слишком много
Поскольку IFERROR охватывает очень много случаев, внимательно выбирайте место её применения. Если заключить в неё целую сложную формулу, ошибку #VALUE!, вызванную некорректными данными, можно незаметно скрыть.
В результате Вы можете начать доверять числу, которое на самом деле неверно. Лучше всего заключать в IFERROR конкретную часть, в которой наиболее вероятна ошибка, а не всё вычисление целиком.
Используйте IFERROR осознанно, а во время проверки временно убирайте её, чтобы убедиться, что формула действительно работает.
IFERROR с пустыми результатами
Часто в качестве стилистического решения для отсутствующих данных возвращают пустую строку, чтобы ячейка выглядела пустой.
Использование "" как запасного варианта помогает сохранить аккуратный вид диаграмм и итогов, поскольку большинство функций воспринимает текст, выглядящий как пустой, как отсутствие видимого содержимого.
Однако учтите: ячейка, содержащая "", технически хранит текст, а не является по-настоящему пустой. Это может влиять на работу COUNT и диаграмм. Для итоговых значений обычно безопаснее возвращать 0.
=IFERROR(SUMIFS(Sales,Region,A2), 0)Когда использовать IFERROR
Используйте IFERROR, когда Вам нужна одна простая страховка для формулы и Вы уверены, что любая ошибка ожидаема и безвредна.
Хорошие примеры — коэффициенты при делении, необязательный поиск и вычисление роста для новых элементов.
Не используйте её, если Вам нужно узнавать о неожиданных ошибках или обрабатывать только один конкретный тип ошибок. Для поиска IFNA предоставляет более точный контроль; о ней Вы узнаете далее.
Безопасное вложение IFERROR
Можно вложить одну IFERROR в другую, чтобы по очереди попробовать несколько запасных вариантов. Электронная таблица проверяет первую формулу, затем вторую, а после этого использует окончательное значение по умолчанию.
В этом примере сначала выполняется поиск в основной таблице, затем в резервной. Если оба поиска не дают результата, возвращается "Not found". Каждый следующий уровень запускается только при ошибке на предыдущем уровне.
Не делайте вложенность глубокой: ограничьтесь двумя или тремя уровнями, иначе формулу будет трудно читать и поддерживать.
=IFERROR(VLOOKUP(A2,Main!A:B,2,0), IFERROR(VLOOKUP(A2,Backup!A:B,2,0), "Not found"))Быстрая проверка
Проверьте, насколько хорошо Вы поняли IFERROR.
Повторение: IFERROR
Вы изучили универсальный обработчик ошибок:
=IFERROR(value, value_if_error)выполняет формулу и показывает запасной вариант, если возникает ошибка.- Она перехватывает все типы ошибок, поэтому используйте её осознанно.
- Запасным вариантом может быть текст, число, пустое значение
""или даже другая формула. - Заключайте в IFERROR рискованную часть, а не всё вычисление, чтобы реальные проблемы оставались видимыми.
Далее Вы познакомитесь с IFNA, которая обрабатывает только ошибку поиска #N/A.
Часто задаваемые вопросы
Урок «Обработка ошибок с помощью IFERROR» бесплатный?
Да — полный текст урока «Обработка ошибок с помощью IFERROR» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Excel Formulas Academy, подпишись на CoddyKit PRO. Курс Excel Formulas Academy содержит 4 уроков всего.
Чему я научусь в уроке «Обработка ошибок с помощью IFERROR»?
Заменяйте любую ошибку резервным значением с помощью IFERROR Ты практикуешь Excel Formulas Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Excel Formulas Academy?
Предыдущий опыт не требуется. Excel Formulas Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Обработка ошибок с помощью IFERROR»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Excel Formulas Academy?
Да. Каждый урок Excel Formulas Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Типы ошибок
- Обработка ошибок с помощью IFERROR
- Обработка отсутствующих результатов поиска с помощью IFNA
- Обнаружение проблем с помощью ISERROR