如果然后使用AND运算符 - 疑难解答公式

时间:2016-02-01 19:20:20

标签: excel if-statement

我有一组数据,我需要使用包含AND运算符的IF语句,并比较第1行到第2行,然后是3到4行等。我最关心的是公式中的失败。它可以工作(不产生任何错误),但不会返回我预期的值。我已经在这里完成了搜索,并根据其他人发布的建议编写了我的公式,但我无法解释结果中的差异。我的数据如下:

+------+------+------+
| ColA | ColB | ColC |
+------+------+------+
|   60 |  160 |   38 |
|   22 |   22 |  -38 |
+------+------+------+

我在D栏第1行和第2行有公式。

第1行公式如下所示,并返回预期值5: = IF(C1&GT = 12,5,IF((C1< = 11 *和(B1> B2)),3,0))

第2行公式如下所示,但返回值3而不是预期的0: = IF(C2&GT = 12,5,IF((C2< = 11 * AND(B2> B1)),3,0))

我认为我的AND做错了。正如它(对我而言),这两个陈述都不应该是真的,应该返回0。第一部分是真的,C2小于11,它是-38。第二部分不是真的,B2不大于B1。

感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

使用AND()的正确方法:

=IF(C1>=12,5,IF(AND(C1<=11,B1>B2),3,0))
第2行中的

=IF(C2>=12,5,IF(AND(C2<=11,B2>B1),3,0))

enter image description here

答案 1 :(得分:0)

AND函数(以及OR函数)使用的语法结构不像它可能&#34;读取。&#34;例如,在某些编程中,&#34; AND&#34;是一个运算符,介于两个逻辑测试之间,如下所示:

 If a=b AND a=c Then...

这很容易&#34;阅读&#34; as&#34;如果a等于b a等于c则...&#34;

但是,在Excel公式中,AND是一个需要参数的函数,这些参数是要执行的逻辑测试。因此,上面的相同测试将被编写为Excel公式,如:

=IF(AND(a=b,a=c), "Both were equal", "Not both were equal")

因此,如果我已正确理解您的公式的目的,我相信您的公式=IF(C1>=12,5,IF((C1<=11*AND(B1>B2)),3,0))应该写成:

=IF(C1>=12,5,IF(AND(C1<=11,B1>B2),3,0))

如果C1大于或等于12,则返回5.如果不是,那么如果C1小于或等于11 < / strong> B1大于B2,然后返回3.如果不是,则返回0.&#34;