Как мне скрыть # DIV / 0! ошибка, когда указанная ячейка пуста?

27

В колонке С у меня есть Производство. В столбце D у меня есть цель. В столбце E у меня дисперсия%. Моя формула =(D11-C11)/D11

Тем не менее, как вы прячете клетки вниз по листу, пока вы не положите что-то в D11 & Амп; C11 прятаться #DIV/0!, Я пытался использовать IF формула, но, кажется, не так?

Jackie Reid
источник

Ответы:

45

Функция IFERROR

Есть "особый" IF Тест предназначен только для обработки ошибок:

=IFERROR( (D11-C11)/D11, "")

Это дает вычисленное значение (D11-C11) / D11, если только результат не является ошибкой, и в этом случае он возвращает пустое значение.

объяснение

Значение «if error», последний параметр, может быть любым; это не ограничено пустыми двойными кавычками. IFERROR работает для любого условия, которое возвращает значение ошибки (вещи, которые начинаются с # ), лайк:

#NULL!  -   reference to an intersection of two ranges that don't intersect
#DIV/0! -   attempt to divide by zero
#VALUE! -   variable is the wrong type 
#REF!   -   invalid cell reference
#NAME?  -   formula name, or text within a formula, isn't recognized
#NUM!   -   invalid number
#N/A    -   value is not available

Это удобно для отладки; функция может быть временно обернута вокруг формулы для возврата некоторого текста сообщения, когда формула выдает ошибку. Это также упрощенная форма теста IF; для его проверки не требуется включать выражение, а затем снова использовать его, чтобы использовать его результат.

Другие таблицы

Эта функция также доступна пользователям других программ электронных таблиц. Он был добавлен в LibreOffice Calc в версии 4.0 (пока не распространяется в некоторых дистрибутивах Linux). Однако, как отмечает @Kroltan, он еще более упорядочен в Google Sheets, где значение «if error» является необязательным; по умолчанию он пуст, если отсутствует. Так что в таком случае, когда вы просто хотите скрыть потенциальные значения ошибок, Google Sheets может сделать это с IFERROR(expression),

fixer1234
источник
Я знаю, что это для Excel, но в Google Docs и Open / LibreOffice, есть вариант без необходимости "значение, если истина", упрощая его до =IFERROR(yourformula),
Kroltan
1
@Kroltan: Как раз тогда, когда я думал, что они больше не смогут оптимизировать эту функцию. Похоже, вы правы насчет Google Sheets. Его значение IFERROR по умолчанию пустое при ошибке, если не указано альтернативное значение, поэтому оно необязательно. LibreOffice Calc реализовал функцию с версией 4.0. Последняя версия, к которой у меня есть доступ, - 4.2, и в этом случае значение if-error все еще требуется.
fixer1234
Действительно, я тестировал только на Google Spreadsheets, но, согласно документам, он идентичен документу от LibreOffice. Извините за дезинформацию.
Kroltan
11

В пределах IF Выписка является логической проверкой (первая часть).

IF(logical_test, value_if_true, [value_if_false])

Чтобы избежать ошибок, вызванных тем, что ваши данные о продукции и / или цели не указаны, используйте OR с ISBLANK функция в рамках логической проверки.

=IF(OR(ISBLANK(C11),ISBLANK(D11)), "", (D11-C11)/D11)

Это проверяет, является ли указанная ячейка пустой. Если один или оба являются пустыми (логический тест ИСТИНА), он будет обрабатывать IF TRUE часть IF заявление. В этом случае "" говорит формуле ничего не делать. В противном случае он будет обрабатывать IF FALSE часть формулы, которая есть формула у вас есть.

CharlieRB
источник
Я обновил это, чтобы включить проверку обоих C11 & Амп; D11 как вы изначально разместили. Извините, я пропустил это в своем первоначальном ответе.
CharlieRB
Хороший улов. Если цели будут предварительно заполнены, а затем ждать производственных записей, результаты покажут 100% -ное отклонение до их ввода. Ваше решение позаботится об этом, что будет намного меньше давления, если производительность измеряется на этом листе. :-)
fixer1234
1

Попробуй это:

=IF(D11<>0,(D11-C11)/D11,"")
или же
=IF(D11=0,"",(D11-C11)/D11)
BillDOe
источник
1

Выберите всю таблицу, затем в меню Главная - Условное форматирование - Новое правило ... - Выбрать Форматировать только те ячейки, которые содержат - Под Форматировать только ячейки с Выбрать ошибки - Нажмите Формат... кнопка - Перейти к Шрифт вкладка - под цвет выберите тот же цвет шрифта, что и фон (например, белый).

New Rule Dialog

Vladimir Reshetnikov
источник