多IF和陈述优秀

我需要在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和声明一起工作。 我怎么解决这个问题?

 =IF(AND(E2="In Play",F2="Closed"),3, -2), IF(AND(E2="In Play",F2=" Suspended"),3,-2) 

考虑到你有多个“testing”,例如,

  1. 如果E2 =“正在播放”并且F2 =“closures”,则输出3
  2. 如果E2 ='正在播放'且F2 ='暂停',则输出2
  3. 等等。

你真正需要做的是在False论点中进行连续的testing。 您目前正在试图用逗号分隔每个testing,这是行不通的。

你的前三个testing都可以join一个expression式,如:

=IF(E2="In Play",IF(F2="Closed",3,IF(F2="suspended",2,IF(F2="Null",1))))

记住,每个连续的testing都需要是前面testing的嵌套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))))

用你的AND,你不应该有一个FALSE值-2,直到最后,例如只有2个AND

=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这样的列中创build一个具有所有E2可能性的表,并且可以像L1:N1那样在一行中创build所有F2可能性,然后在L2:N5中填写所需的结果并使用该公式

=INDEX($L$2:$N$5,MATCH(E2,$K$2:$K$5,0),MATCH(F2,$L$1:$N$1,0))

尝试以下操作:

 =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) 

使这两个沟通

 =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")