Excel'如果'公式如何检查值是否小于x但大于y?

时间:2017-07-27 08:28:49

标签: excel

我有一个Excel如果我遇到麻烦的公式。

=IF(OR(C7<9.97, D7<9.97, E7<9.97, F7<9.97), "NG", IF(OR(C7>10.03, D7>10.03, E7>10.03, F7>10.03), "NG", IF(OR(C7=0, D7=0, E7=0, F7 = 0), "N/A",  "OK")))

对于那些无法跟踪的人(我不会责怪你......)该公式分为4个步骤。

1)如果单元格C7,D7,E7和F7小于9.97,该细胞会产生NG。

2)如果单元格C7,D7,E7和F7超过10.03,该细胞也会产生NG。

3)如果单元格C7,D7,E7和F7等于0,此单元格将生成N \ A.

4)如果没有满足上述条件,则此单元格将生成OK。

到目前为止,所有这些都工作正常,除了3)。由于1)覆盖了低于9.97的所有值,因此包括0和0。默认为NG,这不是我想要的。

在我脑海中,我计划更改1)的IF语句,以便检查小于9.97但不等于0的值,但我不太清楚如何解决它。有人可以帮我吗?

2 个答案:

答案 0 :(得分:3)

您可以将前两个条件统一起来:

=IF(OR(C7<9.97, D7<9.97, E7<9.97, F7<9.97, C7>10.03, D7>10.03,E7>10.03, F7>10.03), "NG", 
 IF(OR(C7=0, D7=0, E7=0, F7 = 0), "N/A",  "OK")))

然后更改此类条件的位置,以便首先检查=0

=IF(OR(C7=0, D7=0, E7=0, F7 = 0), "N/A", 
 IF(OR(C7<9.97, D7<9.97, E7<9.97, F7<9.97, C7>10.03, D7>10.03,E7>10.03, F7>10.03),
"NG", "OK")))

答案 1 :(得分:1)

正如脚注一样,由于细胞处于连续范围内,您可以使用countif缩短它:

=IF(COUNTIF(C7:F7,0),"N/A",IF(COUNTIF(C7:F7,"<9.97")+COUNTIF(C7:F7,">10.03"),"NG","OK"))