Як приховати # DIV / 0! помилка, коли згадана комірка порожня?


28

У колонці CI є виробництво. У стовпці DI є мета. У стовпці EI є дисперсія%. Моя формула така=(D11-C11)/D11

Однак як приховати клітинки під аркуш, поки щось не помістить у D11&, C11щоб приховати #DIV/0!. Я спробував використовувати IFформулу, але, здається, помиляюся?

Відповіді:


45

Функція IFERROR

Існує "спеціальний" IFтест, призначений саме для обробки помилок:

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

Це дає вам розраховане значення (D11-C11) / D11, якщо результат не є помилкою, і в цьому випадку він повертає порожнє.

Пояснення

Значенням "якщо помилка", останнім параметром, може бути будь-що; це не обмежується порожніми подвійними цитатами. 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

Це зручно для налагодження; функцію можна тимчасово обернути навколо формули, щоб повернути деякий текст повідомлення, коли формула видає помилку. Це також спрощена форма ІФ-тесту; для тестування його не потрібно включати вираз, а потім знову включати його, щоб використовувати його результат.

Інші електронні таблиці

Ця функція також доступна для користувачів інших програм електронних таблиць. Він був доданий до LibreOffice Calc у версії 4.0 (ще не розповсюджена версія в деяких дистрибутивах Linux). Як зазначає @Kroltan, воно ще більш впорядковане в Google Таблицях, де значення "якщо помилка" необов'язково; вона за замовчуванням проставляється, якщо її немає. Так у такому випадку, коли ви просто хочете приховати потенційні значення помилок, Google Sheets може це зробити IFERROR(expression).


Я знаю, що це для Excel, але в Google Docs і Open / LibreOffice є варіація без необхідності "значення, якщо є правдивим", спрощуючи його до =IFERROR(yourformula).
Кролтан

1
@Kroltan: Якраз тоді, коли я думав, що вони більше не можуть впорядкувати цю функцію. Схоже, ви маєте рацію щодо Google Таблиць. Його значення IFERROR за замовчуванням помилково, якщо не вказано альтернативне значення, тому це необов'язково. LibreOffice Calc реалізував функцію з версією 4.0. Остання версія, до якої я маю доступ, - 4.2, і в ній все-таки потрібне значення if-error.
fixer1234

Дійсно, я протестував лише в Google Spreadsheets, але згідно з документами він ідентичний тому, що вийшов з LibreOffice. Вибачте за неправильну інформацію.
Кролтан

11

Всередині IFзаяви є логічна перевірка (перша частина).

IF(logical_test, value_if_true, [value_if_false])

Щоб уникнути помилок , викликаних в той час як ваше виробництво та / або дані , мета порожній, використовувати ORз ISBLANKфункцією в межах логічної перевірки.

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

Це перевіряє, чи будь-яка клітина, на яку посилається, порожня. Якщо один або обидва є порожніми (що робить логічний тест TRUE), він обробить IF TRUEчастину IFоператора. У цьому випадку ""формула підказує нічого не робити. В іншому випадку вона обробить IF FALSEчастину формули, яка є формулою, яку ви маєте.


Я оновив це, щоб включити перевірку обох C11& D11як ви спочатку публікували. Вибачте, що я пропустив це у своїй оригінальній відповіді.
CharlieRB

Хороший улов. Якщо цілі заздалегідь заповнюються, а потім чекають записів на виробництво, результати показуватимуть 100% відхилення, поки вони не будуть введені. Ваше рішення опікується тим, що набагато менший тиск, якщо продуктивність вимірюється з цього аркуша. :-)
fixer1234

1

Спробуйте це:

= ЯКЩО (D11 <> 0, (D11-C11) / D11, "")
або
= ЯКЩО (D11 = 0, "", (D11-C11) / D11)


1

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

Діалог нових правил

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.