和在Excel中的function?

我需要检查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") 

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

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

  AB ---- > 150 -- True | ---- > 200 --| | | | ---- <=150 -- False | | ---- > 100 -- True | | -|--- = 200 --| | | | ---- <= 100 -- False | | ---- < 200 ----- Anything -- False 

一旦这是正确的,收集我们需要的。 在这种情况下,我们需要将“真”与“假”分开。 最简单的方法是在True上工作(5个结果中有2个是真的,所以工作量less!)

按照每个“真”分支,并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") 

额外 :如果你想得到“假”,而不是:

按照每个“假”分支,并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") 
 = IF(OR(AND(A=200;B>100);AND(A>200;B>150));"True";"False") 

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