如何让 Excel 忽略 N/A

How to get Excel to ignore N/As

提问人:DoggedGeddog 提问时间:10/11/2023 最后编辑:Mayukh BhattacharyaDoggedGeddog 更新时间:10/31/2023 访问量:126

问:

我有一个嵌套的 if/or/and 语句,该语句在其他方面有效,但如果行中有任何 N/A,则会给我“false”值。我希望它完全忽略 N/A(所以,如果我要求它告诉我 if 和 ,但包含 ,我仍然希望它告诉我该陈述是“真的”)。A2<3B2<3A2=1B2N/A

我尝试过以下有关如何处理的帮助页面,但它们要么不起作用,要么分配不同的值。请帮忙!N/AsN/As

excel if 语句 excel-formula na

评论

1赞 P.b 10/12/2023
您不需要为双精度值返回 (FALSE) 吗?=OR(ISNUMBER(A2:B2))*IFNA(A2<3,1)*IFNA(B2<3,1)0#N/A
1赞 Mayukh Bhattacharya 10/12/2023
您可以尝试使用 或者如果您正在使用TOCOL()TOROW()MS365 --> =AND(TOCOL(A2:B2,3)<3)
1赞 P.b 10/12/2023
这实际上非常聪明,而且可能是最短的

答:

2赞 pgSystemTester 10/12/2023 #1

我认为你被忽略了这个想法,你真的不能作为和功能的一部分来做。但是,您可以通过将任何错误转换为 来获得基本相同的结果(尽管如果全部被忽略,这可能是一个问题,因为它给出了 true——见下图第 7 行)。true

正如其他答案所示,有多种方法可以做到这一点。我个人的偏好是在每个条件中使用 iferror 函数,当条件出现错误时返回。所以在您的示例公式中true

=And(iferror(A2<3,true),iferror(B2<3,true))

enter image description here

如果你在以下每一行中都使用它,你会得到这些结果(注意第 7 行......不确定你会如何处理它)。

如果你想要尽可能短的公式,我想就是这样(有人做一个更短的吗?

=iferror(A2<3,1)*iferror(B2<3,1)>0

评论

1赞 pgSystemTester 10/12/2023
@MayukhBhattacharya,谢谢!看看你的评分!几个月前,你只是一个 2,000 人!(或者至少我记得是这样)。你能得到一个比我最后扔进去的更短的公式吗?
1赞 Mayukh Bhattacharya 10/12/2023
我不着急先生,但先生编辑:第二个不应该=iferror(A2<3,1)*iferror(B2<3,1)>0IFERROR()B2
2赞 Mayukh Bhattacharya 10/12/2023 #2

请尝试使用以下公式:

enter image description here


• 细胞中使用的配方E2

=AND(A2<3,IFERROR(B2<3+ISNA(B2),1))

看看下面的这个例子,要忽略 你需要一个 来解析错误以处理值 ie 和 where is while is 0#N/AIFERROR()BOOLEANTRUEFALSETRUE1FALSE

enter image description here


注意:运算符用作函数,而用作 .+OR()*AND()


我想出的最短的替代方案,使用 或TOCOL()TOROW()

enter image description here


• 细胞中使用的配方D2

=AND(TOCOL(A2:B2,3)<3)

或者,如果您同时将两个单元格作为#N/A

enter image description here


=IFERROR(AND(TOCOL(A2:B2,3)<3),TRUE)

编辑 : 10/31/23 -- 公式更新:

enter image description here


• 细胞中使用的配方C2

=AND(IFNA(A2:B2+0,0)<3)

使用单个动态数组公式 -->BYROW()

enter image description here


• 细胞中使用的配方C2

=BYROW(A2:B8,LAMBDA(α,AND(IFNA(α+0,0)<3)))

评论

0赞 rotabor 10/12/2023
使用代替的理由是什么?=AND(A2<3,IFERROR(B2<3+ISNA(B2),1))=AND(A2<3,IFERROR(B2<3,1))
0赞 Mayukh Bhattacharya 10/12/2023
@rotabor这就是我在不复制他人的情况下构建的方式,而我正在写 Steven Sir 发布他们的解决方案的帖子。此外,屏幕截图还解释了布尔值。现在我正在尝试一种更短的方法。
0赞 rotabor 10/12/2023
所以可以简化为?=AND(A2<3,IFERROR(B2<3+ISNA(B2),1))=AND(A2<3,IFERROR(B2<3,1))
0赞 Mayukh Bhattacharya 10/12/2023
是的,我同意,但就像我说的,当我发布某人已经发布的答案时,我不得不更改,我不能发布相同的答案
0赞 rotabor 10/12/2023
谢谢,我只是想知道我是否错过了什么。
1赞 Lutfor Rahman 10/12/2023 #3

也可以通过将IFNA功能与您现有的公式相结合来满足您的要求。希望以下公式会有所帮助。

Excel公式

=IF(AND(IFNA(A2<3,TRUE),IFNA(B2<3,TRUE)),TRUE,FALSE)