AND在Excel中的OR内部功能?

时间:2017-11-15 12:02:41

标签: excel syntax excel-formula

我需要检查A是否超过200,如果B超过150,如果是这样的话,结果应该是真的。

但是,如果A恰好是200,那么它仍然必须结果为真,即B超过100。

简而言之

A>200 AND B>150 = True

但是如果

A=200 AND B>100 = True
A=200 AND B<=100 = False

我自己尝试了,但是我被卡住了,我的大脑无法处理所有的嵌套,而且我认为我错过了一些简单的东西,我也认为我使用的语法不正确,但是我到目前为止提出的是:

=IF(AND(A>200;B>150;OR(AND(A=200;B>100);"True";"False")

2 个答案:

答案 0 :(得分:1)

这主要是一个数学逻辑问题,但无论如何,这应该有助于更复杂的场景,特别是如果你难以掌握不同的结果。

我会绘制一个类似于下面的概率树,显示每个概率树的所有不同结果:

         A              B
                ----  > 150  -- True
                |
 ----  > 200  --|
 |              |
 |              ----  <=150  -- False
 |
 |              ----  > 100  -- True
 |              |
-|---  = 200  --|
 |              |
 |              ----  <= 100 -- False
 |
 |
 ----  < 200  ----- Anything -- False

一旦这是正确的,收集我们需要的。在这种情况下,我们需要将True与False分开。最简单的方法是处理True(5个结果中有2个为True,因此工作量减少!)

关注每个'True'分支,然后AND

AND(A>200;B>150)
AND(A=200;B>100)

一旦你得到了所有东西,OR他们在一起:

OR(AND(A>200;B>150);AND(A=200;B>100))

最后的结果:

IF(OR(AND(A>200;B>150);AND(A=200;B>100)); "True"; "False")

额外:如果您想改为“False”:

关注每个'False'分支,AND跟踪它们(请注意,因为最后一个分支是单独的,我们可以删除AND):

AND(A>200;B<=150)
AND(A=200;B<=100)
A<200

一旦你得到了所有东西,OR他们在一起:

OR(AND(A>200;B<=150);AND(A=200;B<=100);A<200)

最后的结果:

IF(OR(AND(A>200;B<=150);AND(A=200;B<=100);A<200); "False"; "True")

答案 1 :(得分:0)

= IF(OR(AND(A=200;B>100);AND(A>200;B>150));"True";"False")

只是一个未来参考的提示:通常,如果几个单独的条件可以返回&#34; true&#34;,单个AND语句中的几个OR语句就是您应该使用的语句。当然,这有一些例外,但这是一般的指导原则。