-2

Я видел инструкции о том, как избавиться от # DIV/0! ошибка в одной ячейке, но я ищу самый простой способ справиться со всеми ошибками сразу во всем документе.

Причина этого заключается в следующем: документ был создан в LibreOffice, и, очевидно, его поведение отличается; вместо ошибки LibreOffice отображает пустую ячейку. Эта проблема не была идентифицирована, потому что все формулы, которые зависят от этого результата, также работают (принимая значение 0, я полагаю). Когда я открываю документ в Microsoft Excel 2013, однако, любой DIV/0! ошибка будет каскадно уменьшаться и мешать работать другим формулам, которые зависят от результата. Проблема в том, что сумма # DIV/0! ошибки в документе слишком велики, чтобы их можно было исправить по отдельности.

Пример содержимого проблемной ячейки:

=+ В13/ К13

Где Q13 имеет фиксированное значение 12, а K13 пусто.

4 ответа4

2

Простой способ изменить формулу для работы с делением на ноль ошибка #DIV/0! использовать функцию IFERROR .

В вашем случае вы можете сделать это, используя следующую формулу;

=IFERROR(+Q13/K13, "0")

В этом случае Excel запустит формулу, а в случае ошибки формулы Excel вернет 0 (или оставит 0 из кавычек для пустой ячейки). Если ошибки нет, возвращаются результаты расчета.

У меня нет LibreOffice, поэтому я не могу сказать вам, будет ли эта формула работать по-другому. Вам придется попробовать это.

Если другие формулы зависят от этой, они могут начать работать, если эта формула не равна 0 . Вероятно, вы можете использовать функцию Replace из группы Editing на вкладке Home .

1

Я всегда думал, что утверждение IF в расчетах было немного похоже на обман. Что он делает, так это заявляет, что есть особые случаи, когда нужно показать другое значение или формулу. Я не считаю это удовлетворительным.

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

A1= How many hours must be done in that day.
A2= How many hours you actually did.

Процент просто:

=A2/A1

Но что, если у вас нет часов, чтобы сделать этот день? Это означает, что A1=0 . Упс ... мгновенная ошибка DIV/0.

Да, вы МОЖЕТЕ сделать заявление IF.

IF(A1=0,"0",A2/A1)

НО, мне нравится делать следующее.

=ROUND(A2/(A1+.00000001),2)

Я просто изменил значение A1 с 0 на 0.00000001 ; затем я сделал свои расчеты, затем округлил незначительные цифры. В моем случае мне нужно было два десятичных знака. Таким образом, мой результат был « 0.00 ». Размер незначительных цифр, которые вы добавляете к своему 0, зависит от вашего конкретного приложения. Имейте в виду, что существует ограничение на "малость" числа, которое вы можете добавить в Excel. Я не знаю, что это за ценность.

0

Это преобразует выбранную формулу ячейки в операторы IFERROR(), которые показывают только допустимые значения (или ноль для всех ошибок):

Sub error_fix()
    Dim cell As Range
    For Each cell In Application.Selection.Cells
        cell.Formula = "=IFERROR(" & Mid(cell.Formula, 2) & ",0)"
    Next
End Sub

[ Источник ]

В любом случае нажмите Alt + F11, чтобы открыть редактор VBA и вставить в него код (затем сохраните и закройте окно VBA). Затем выберите ячейку, с которой вы хотите работать магическим образом. Затем нажмите Alt + F8, чтобы вызвать диалог макроса. Выберите макрос и нажмите « Run чтобы исправить выбранную ячейку. Вы также можете назначить эту комбинацию клавиш с помощью кнопки « Options... в диалоговом окне «Макрос».

Обязательно сохраните лист с включенными макросами, если вы захотите использовать его позже.

Обновить

Это исправление не только исправляет эту ошибку, но и исправляет все ошибки. Это делает его очень удобным.

Я также обновил скрипт для правильной работы с выборками. Теперь вы можете выбрать столько ячеек, сколько захотите, и это исправит их все. Вы даже можете удерживать Ctrl, чтобы выбрать несколько областей ячейки.

0

http://support.microsoft.com/kb/182189

Это показывает, как использовать ISERROR и IFERROR в вашей формуле для замены сообщений об ошибках чем-то другим.

Также говорится об использовании условного форматирования для изменения цвета текста на белый, если это ошибка (которая просто скрывает ошибку, но не меняет ее ... Я думаю, что это немного наполовину метод, который вы знаете, что. Вы действительно должны иметь встроенную обработку ошибок в формулах.)

Тем не менее, я мог поклясться, что я вошел в "ячейки" или, возможно, основные параметры Excel, и была возможность устанавливать ошибки как 0 или пробелы или что-то еще. Я не могу вспомнить где. Может потребоваться перейти в меню "Ячейки", затем щелкнуть по формату (где вы можете изменить валюту, учет и т.д.) И создать собственную маску.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .