Excel 在 OR 语句中使用 ISERROR 检查 FALSE 而不返回错误

Excel 在 OR 语句中使用 ISERROR 检查 FALSE 而不返回错误

A 列包含的数据每行都有以下三种可能性之一:

TRUE、FALSE 或“#N/A”错误。

列 B 是必需的,如果列 A 中的值为 FALSE 或“#N/A#”错误,则返回 1,否则返回 0。

使用以下公式:

=IF(OR(ISERROR(A1),NOT(A1)),1,0)

但是,只要 A 列中的值为“#N/A”,就会返回错误“#N/A”。分解公式:

=ISERROR(A1) returns 1 when A1 is "#N/A".
=IF(NOT(A1),1,0) returns "#N/A" when A1 is "#N/A".

因此,问题似乎是,只要 A 列中的值有错误,则“NOT”检查就会返回错误。此外,这取代了“ISERROR(A1)”返回的 1。

有没有什么办法可以达到想要的结果?

答案1

解释得很好,但我建议公式稍微短一点:

=IFERROR(1-A1,0)

或者

=IFNA(1-A1,0)

或者如果您需要使用ISERROR功能:

=IF(ISERROR(A1),0,1-A1)

答案2

如果条件为 TRUE,则为 0;如果条件为 N/A 或 FALSE,则为 1。

如果 A 列不包含除这三项之外的任何内容,则最简单的公式如下:

=IF(A1=TRUE;0;1)

这意味着:如果 A1 为 TRUE,则为 0,如果为其他值,则为 1。

鉴于这也会为空单元格创建 1,您可以添加以下内容:

=IF( A1="" ; "" ; IF(A1=TRUE;0;1) )

这基本上意味着:如果 A1 为空,则返回空。但是,如果不是,则我们评估 IF A1 = True,如果是,则返回 0,否则返回 1。

答案3

NA()使用IFNA()或时,需要解析错误IFERROR()。以下屏幕截图显示了步骤

在此处输入图片描述


• 单元格中使用的公式B2

=ISERROR(A2)+IFNA(NOT(A2),0)

或者,

=ISNA(A2)+IFNA(NOT(A2),0)

• 拥有IF()OR()

=IF(OR(ISERROR(A2),IFNA(NOT(A2),1)),1,0)

我没有使用IF()with ,而是执行了表示返回的操作,即while 。OR()BOOLEAN LOGIC+OR()TRUE1FALSE0

您的公式不起作用,因为当出现错误时,它NA()无法检测到错误,您需要使用IFNA()甚至解析错误,但它会返回,因为如果第一个不是错误 - >它会再次返回即当没有错误时 - >它也会返回即。(参考最后的屏幕截图)。IFERROR()ISNA()0=ISERROR(A2)FALSE0=ISNA(A2)00+0 =0

在此处输入图片描述


在此处输入图片描述


我建议你总是尝试评估公式,它Excel有一些内置功能,可以帮你很多,比如评估公式。它位于Formulas选项卡 --> 按Formula Auditing点击分组 -->Evaluate Formula

在此处输入图片描述


相关内容