如何隐藏#DIV/0!引用的单元格为空时出错?

Jac*_*eid 28 worksheet-function microsoft-excel

在列 CI 中有生产。在列 DI 中有目标。在列 EI 中有方差 %。我的公式是=(D11-C11)/D11

但是,如何在工作表中隐藏单元格,直到将某些内容放入D11&C11以隐藏#DIV/0!. 我曾尝试使用该IF公式,但似乎弄错了?

fix*_*234 45

IFERROR 函数

有一个“特殊”IF测试旨在处理错误:

=IFERROR( (D11-C11)/D11, "")
Run Code Online (Sandbox Code Playgroud)

这将为您提供 (D11-C11)/D11 的计算值,除非结果是错误,在这种情况下它返回空白。

解释

最后一个参数“if error”值可以是任何值;它不仅限于空双引号。IFERROR 适用于任何返回错误值(以 a 开头的内容#)的条件,例如:

#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
Run Code Online (Sandbox Code Playgroud)

这对于调试很方便;当公式产生错误时,该函数可以临时包裹在公式周围以返回一些消息文本。也是IF测试的一种简化形式;它不需要包含一个表达式来测试它,然后再次包含它来使用它的结果。

其他电子表格

其他电子表格程序的用户也可以使用此功能。它在 4.0 版中被添加到 LibreOffice Calc(在某些 Linux 发行版中还不是分布式版本)。不过,正如@Kroltan 指出的那样,它在 Google 表格中更加精简,其中“if error”值是可选的;如果丢失,则默认为空白。因此,在这种情况下,您只想隐藏潜在的错误值,Google 表格可以使用IFERROR(expression).


Cha*_*eRB 11

在一个IF语句是一个逻辑检查(第一部分)。

IF(logical_test, value_if_true, [value_if_false])
Run Code Online (Sandbox Code Playgroud)

为避免在您的生产和/或目标数据为空白时导致的错误,请在逻辑检查中使用ORwithISBLANK函数。

=IF(OR(ISBLANK(C11),ISBLANK(D11)), "", (D11-C11)/D11)
Run Code Online (Sandbox Code Playgroud)

这将检查引用的任一单元格是否为空。如果一个或两个都为空(使逻辑测试为真),它将处理语句的IF TRUE一部分IF。在这种情况下,""告诉公式什么都不做。否则,它将处理IF FALSE公式的一部分,即您拥有的公式。


Bil*_*DOe 1

尝试这个:

=IF(D11<>0,(D11-C11)/D11,"")
或者
=IF(D11=0,"",(D11-C11)/D11)