Всегда неприятно, когда ваша формула выдаёт ошибку. Мы уже рассматривали, с какими ошибками вы можете столкнуться при работе в Excel. Можете ознакомиться с этим списком.
Но часто бывает, что ошибка появляется не из-за неправильно написанной формулы, а из-за логики расчётов. Такие ошибки мы можем предсказывать и даже обрабатывать их. В этом нам помогут специальные логические функции обработки ошибок.
Сегодня мы рассмотрим одну из таких функций - ЕСЛИОШИБКА.
Это наиболее часто используемая функция для обработки ошибок формул. ЕСЛИОШИБКА проверяет, не выдал ли результат работы формулы ошибку и если это случилось, то выполняет другое действие, которое вы ей укажете.
Функция ЕСЛИОШИБКА требует два аргумента:
=ЕСЛИОШИБКА(значение, значение_если_ошибка)
- Значение: Это значение, которое проверяется на ошибку. Может быть как ссылкой на ячейку, формулой или логическим выражением.
- Значение если ошибка: Действие, которое нужно выполнить, если возвращается ошибка.
Перейдём к примеру. Предположим, что мы проводим мероприятия. Лекции, семинары, что угодно. Нам нужно узнать коэффициент посещаемости наших мероприятий зная общее количество мест в помещениях и количество проданных билетов на каждое мероприятие.
Мероприятия 1, 3, 5 и 6 уже проведены. А 2 и 4 только запланированы, но помещение под них ещё не выбрано, поэтому мы пока не знаем сколько там будет мест.
Чтобы узнать коэффициент посещаемости, нам надо количество проданных билетов разделить на количество мест. В ячейке D2 формула будет:
=C2/B2
Протягиваем формулу вниз и делаем для диапазона D2:D7 формат Процентный.
Мы получили процент посещаемости для наших проведённых мероприятий. Но для мероприятий, которые ещё не прошли вернулась ошибка #ДЕЛ/0!
Что правильно! Это ошибка - деление на ноль. Что, как вы знаете, правилами математики запрещено делить на ноль. Эта ошибка возникает, если ваша формула пытается что-то поделить на ноль или пустую ячейку. Что и произошло в нашем случае, так как для мероприятий 2 и 4 помещения ещё не определены, количество мест в них мы ещё не знаем, поэтому ячейки для них пустые. А наша формула пытается поделить количество билетов на пустые ячейки количества мест (количество билетов тоже ноль, но ноль на что-то делить можно, будет ноль, а на ноль ничего делить нельзя, даже ноль).
Это не ошибка формулы, она правильная. Это именно ошибка логики расчёта. Можно было бы оставить и так, и когда бы мы заполнили со временем пустые ячейки, ошибка бы пропала. Но, во-первых, в таком виде наша таблица выглядит неэстетично. А во-вторых, в случае, если нам потребуются какие-либо дальнейшие расчёты, то эти ошибки могут доставить нам проблемы. Поэтому нам надо их обработать.
Здесь нам и понадобится функция ЕСЛИОШИБКА:
=ЕСЛИОШИБКА(C2/B2;"")
Эта формула проверяет, не выдаёт ли C2/B2 ошибку, и если выдаёт, то возвращает пустую строку ("").
Ознакомиться с сегодняшним примером вы можете скачав файл по ссылке.
Функция ЕСЛИОШИБКА довольно полезная и в будущем мы ещё не раз будем её использовать. А в следующий раз мы рассмотрим её частный вариант - функцию ЕСНД.
Не переключайтесь;)