Как убрать ошибку деления на ноль в Excel с помощью формулы. Как убрать ошибку деления на ноль в Excel с помощью формулы Возникла ошибка деление на 0

В математике деление на ноль – невозможно! Одним из способов для объяснения данного правила является анализ процесса, который показывает, что происходит, когда одно число разделено на другое.

Ошибка деления на ноль в Excel

В реальности операция деление это по сути тоже что и вычитание. Например, деление числа 10 на 2 является многократным вычитанием 2 от 10-ти. Многократность повторяется до той поры пока результат не будет равен 0. Таким образом необходимо число 2 вычитать от десяти ровно 5 раз:

  1. 10-2=8
  2. 8-2=6
  3. 6-2=4
  4. 4-2=2
  5. 2-2=0

Если же попробовать разделить число 10 на 0, никогда мы не получим результат равен 0, так как при вычитании 10-0 всегда будет 10. Бесконечное количество раз вычитаний ноля от десяти не приведет нас к результату =0. Всегда будет один и ото же результат после операции вычитания =10:

  • 10-0=10
  • 10-0=10
  • 10-0=10
  • ∞ бесконечность.

В кулуарах математиков говорят, что результат деления любого числа на ноль является «не ограниченным». Любая компьютерная программа, при попытке деления на 0, просто возвращает ошибку. В Excel данная ошибка отображается значением в ячейке #ДЕЛ/0!.

Но при необходимости можно обойти возникновения ошибки деления на 0 в Excel. Просто следует пропустить операцию деления если в знаменателе находится число 0. Решение реализовывается с помощью помещения операндов в аргументы функции =ЕСЛИ():

Таким образом формула Excel позволяет нам «делить» число на 0 без ошибок. При делении любого числа на 0 формула будет возвращать значение 0. То есть получим такой результат после деления: 10/0=0.



Как работает формула для устранения ошибки деления на ноль

Для работы корректной функция ЕСЛИ требует заполнить 3 ее аргумента:

  1. Логическое условие.
  2. Действия или значения, которые будут выполнены если в результате логическое условие возвращает значение ИСТИНА.
  3. Действия или значения, которые будут выполнены, когда логическое условие возвращает значение ЛОЖЬ.

В данном случаи аргумент с условием содержит проверку значений. Являются ли равным 0 значения ячеек в столбце «Продажи». Первый аргумент функции ЕСЛИ всегда должен иметь операторы сравнения между двумя значениями, чтобы получить результат условия в качестве значений ИСТИНА или ЛОЖЬ. В большинстве случаев используется в качестве оператора сравнения знак равенства, но могут быть использованы и другие например, больше> или меньше >. Или их комбинации – больше или равно >=, не равно!=.

Если условие в первом аргументе возвращает значение ИСТИНА, тогда формула заполнит ячейку значением со второго аргумента функции ЕСЛИ. В данном примере второй аргумент содержит число 0 в качестве значения. Значит ячейка в столбце «Выполнение» просто будет заполнена числом 0 если в ячейке напротив из столбца «Продажи» будет 0 продаж.

Если условие в первом аргументе возвращает значение ЛОЖЬ, тогда используется значение из третьего аргумента функции ЕСЛИ. В данном случаи - это значение формируется после действия деления показателя из столбца «Продажи» на показатель из столбца «План».

Формула для деления на ноль или ноль на число

Усложним нашу формулу функцией =ИЛИ(). Добавим еще одного торгового агента с нулевым показателем в продажах. Теперь формулу следует изменить на:

Скопируйте эту формулу во все ячейки столбца «Выполнение»:


Теперь независимо где будет ноль в знаменателе или в числителе формула будет работать так как нужно пользователю.

Добрый день, дорогие читатели. На днях одна из фирм, которую я обслуживаю обратилась ко мне с проблемой.
При закрытии месяца в 1С появлялась ошибка: Деление на 0.

{Документ.ФормированиеЗаписейКнигиПокупок.МодульОбъекта(2466)}: Деление на 0
НДССтроки = Окр(СтрокаТаблицы.НДС * СуммаБезНДССтроки / СтрокаТаблицы.СуммаБезНДС, 2);

Первым делом, я залез на форум с спросил совета у программистов 1С. Мне сказали проверить кратность в Валютах. Она должна быть равна 1.

Для перехода в раздел Валюты переходим во вкладку Банк и выбираем вкладку Валюты . Проверяем везде кратность, она должна равняться 1 . Загружаем курсы валют за период, который не закрывается.

Раздел Валюты должен выглядеть следующим образом:

После проверки своей базы я убедился, что с курсами валют и кратностью у меня полный порядок, но закрытие месяца так и не проводилось. (В большинстве случаев проблема деления на 0, заключается именно в кратности в курсах валют)

Я долго не мог разобраться в данной проблеме, перепровел все документы в книге покупок и продаж.

Лишь спустя несколько дней я нашел непроведенный документ без записей в разделе Операции Регламентные документы 1С.

В регламентных документах НДС в конце списка я обнаружил непроведенный документ. Формирование книги покупок, в котором ничего не было записано, я его провел и какого было мое удивление, месяц закрылся, проблема решена.

В Зарплата и Управление Персоналом 3.0, платформа 8.3.2580, возникла ошибка:

При заполнении документа Начисление зарплаты и взносов выходит сообщение:
При расчете начисления «Оплата по окладу» за Январь 2017 для сотрудника Х возникла ошибка: Деление на 0
Формула, используемая при расчете: Оклад * ВремяВДнях / НормаДней.

Решение

Проблема связана с конкретной установленной версией конфигурации, её нужно обновить до 3.1. Общий алгоритм такой:

1. Обновил платформу до актуальной.
2. Обновил конфигурацию до версии 3.1
3. Запустил приложение для отладки, вышла ошибка
4. Закрыл полностью 1С, запустил тестирование chdbfl (ошибок не обнаружено).
5. Запустил конфигуратор и запустил тестирование и исправление со следующими настройками (сверху вниз): проверки и режимы проставил все галки, тестирование и исправление, при наличии ссылок на несуществующие объекты — очищать ссылки, при частичной потере данных объектов — не изменять.
6. Запустил приложение для отладки и всё прошло как по маслу, база обновилась и ошибка при заполнении не возникла

Надеюсь Вам было полезно 🙂

Похожие статьи