Excel'如果'公式如何检查值是否小于x但超过y?
我有一个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以及默认为NG,这不是我想要的。
在我的脑海中,我打算改变1)的IF语句,以便它将检查值小于9.97但不等于0,但我不太清楚如何解决它。 有人可以帮我吗?
你可以统一前两个条件,如下所示:
=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")))
就像脚注一样,由于单元格处于连续范围内,因此可以使用countif将其缩短:
=IF(COUNTIF(C7:F7,0),"N/A",IF(COUNTIF(C7:F7,"<9.97")+COUNTIF(C7:F7,">10.03"),"NG","OK"))