27

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

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

4 ответа4

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) .

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 формулы, которая является вашей формулой.

1

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

Новое правило диалога

1

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

=IF(D11<>0,(D11-C11)/D11,"")
или же
=IF(D11=0,"",(D11-C11)/D11)

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