我需要在Excel中根据两个不同单元格中的文本编写“if”语句。
If E2 ='in play' and F2 ='closed' output 3
If E2= 'in play' and F2 ='suspended' output 2
If E2 ='In Play' and F2 ='Null' output 1
If E2 ='Pre-Play' and F2 ='Null' output -1
If E2 ='Completed' and F2 ='Closed' output 2
If E2 ='Suspended' and F2 ='Null' output 3
If anything else output -2
其中Null在单元格中没有值
我试图使用下面的代码执行此操作但似乎无法让两个或更多IF AND语句一起工作。我该如何解决这个问题?
=IF(AND(E2="In Play",F2="Closed"),3, -2), IF(AND(E2="In Play",F2=" Suspended"),3,-2)
答案 0 :(得分:18)
考虑您有多个“测试”,例如
您真正需要做的是将连续测试放在False
参数中。您现在正尝试用逗号分隔每个测试,但这不起作用。
你的前三个测试都可以加在一个表达式中,如:
=IF(E2="In Play",IF(F2="Closed",3,IF(F2="suspended",2,IF(F2="Null",1))))
记住每个连续的测试需要是前面测试的嵌套FALSE参数,你可以这样做:
=IF(E2="In Play",IF(F2="Closed",3,IF(F2="suspended",2,IF(F2="Null",1))),IF(AND(E2="Pre-Play",F2="Null"),-1,IF(AND(E2="completed",F2="closed"),2,IF(AND(E2="suspended",F2="Null"),3,-2))))
答案 1 :(得分:10)
使用你的AND,你不应该有一个FALSE值-2,直到最后,例如只有2个ANDs
=IF(AND(E2="In Play",F2="Closed"),3,IF(AND(E2="In Play",F2=" Suspended"),3,-2))
尽管使用嵌套的IF和AND组合可能会更好 - 尝试使用完整的公式:[编辑 - 感谢大卫]
=IF(E2="In Play",IF(F2="Closed",3,IF(F2="Suspended",2,IF(F2="Null",1))),IF(AND(E2="Pre-play",F2="Null"),-1,IF(AND(E2="Completed",F2="Closed"),2,IF(AND(E2="Pre-play",F2="Null"),3,-2))))
为了避免像上面这样的长公式,您可以在像K2:K5这样的列中创建一个包含所有E2可能性的表,并且像L1中的所有F2可能性一样:N1然后在L2:N5中填写所需的结果并使用这个公式
=INDEX($L$2:$N$5,MATCH(E2,$K$2:$K$5,0),MATCH(F2,$L$1:$N$1,0))
答案 2 :(得分:1)
尝试以下方法:
=IF(OR(E2="in play",E2="pre play",E2="complete",E2="suspended"),
IF(E2="in play",IF(F2="closed",3,IF(F2="suspended",2,IF(ISBLANK(F2),1,-2))),
IF(E2="pre play",IF(ISBLANK(F2),-1,-2),IF(E2="completed",IF(F2="closed",2,-2),
IF(E2="suspended",IF(ISBLANK(F2),3,-2))))),-2)
答案 3 :(得分:-1)
让这两个人沟通
=IF(OR(AND(MID(K27,6,1)="N",(MID(K27,6,1)="C"),(MID(K27,6,1)="H"),(MID(K27,6,1)="I"),(MID(K27,6,1)="B"),(MID(K27,6,1)="F"),(MID(K27,6,1)="L"),(MID(K27,6,1)="M"),(MID(K27,6,1)="P"),(MID(K27,6,1)="R"),(MID(K27,6,1)="P"),ISTEXT(G27)="61"),AND(RIGHT(K27,2)=G27)),"Good","Review")
=IF(AND(RIGHT(K27,2)=G27),"Good","Review")