如何在Excel中创build复杂的嵌套的If语句?

Excel中有一个If公式,如下所示:

=IF((Q2="O")*AND(R2="O")*AND(S2="O")*AND(T2="O")*AND(U2="O"),"O","X") 

基本上,如果单元格Q2到U2是O,那么具有公式的单元格将写入O. 否则它将会有X.现在我想把它变成嵌套的If语句由于新的条件。

这些条件依次是:

  1. 如果单元格Q2中的任何一个到U2 = X,cell = X

  2. 如果单元格Q2至U2中的任何一个=date格式,单元格=Δ

  3. 如果Q2到U2 = O,则cell = 0

  4. 如果没有条件满足,单元格将具有值“FALSE”。 (出现默认)

每个单元都有这个条件,

  1. 如果单元格Q2至U2中的任何一个= – ,则忽略该单元格并计数其他单元格以获得最终结果。

我尝试切换到或在我原来的公式testing条件1和3。

 =IF((Q2="O")*or(R2="O")*or(S2="O")*or(T2="O")*or(U2="O"),"O","X") 

但它不起作用。 另外我不确定如何做条件5以及。 任何帮助?

只用Excel公式就可以做这么复杂的事情吗? 还是我需要进入VBA?

如果按优先顺序处理问题,这样的事情通常更容易。 看起来像1具有最高优先级:

 =IF(COUNTIF(Q2:U2,"X")>0,"X","Does not contain X") 

COUNTIF(Q2:U2,"X")返回范围Q2:U2X的出现次数。

代替“不包含X”,我们可以先检查条件2:

 =IF(SUMPRODUCT(--ISNUMBER(Q2:U2))>0,"∆","Does not contain X or dates") 

Excel中的date实际上是一些带有装饰格式的数字。 我正在使用ISNUMBER来查找数字和SUMPRODUCT来计算在范围内识别的单元格。 如果超过0(至less1),那么它将变成

现在代替“不包含X或date”,我们可以检查O s。 我会计数O s,并添加- (条件3和5在一起)的细胞,看他们是否加起来Q2:U2 (在这种情况下是5)的总细胞:

 =IF(COUNTIF(Q2:U2,"O")+COUNTIF(Q2:U2,"-")=5,"O","FALSE") 

结合起来,就会变成:

 =IF(COUNTIF(Q2:U2,"X")>0,"X",IF(SUMPRODUCT(--ISNUMBER(Q2:U2))>0,"∆",COUNTIF(Q2:U2,"O")+COUNTIF(Q2:U2,"-")=5,"O","FALSE")) 

由于所有这些涉及计数,可能更容易设置帮助列,如:

  | Q | R | S | T | U | V | W | X | Y | Z 1 | | | | | | Count of X | Count of dates | Count of O | Count of - | Final value 2 | | | | | | A | B | C | D | E 

A将是:

 =COUNTIF(Q2:U2,"X") 

B将是:

 =SUMPRODUCT(--ISNUMBER(Q2:U2)) 

C将是:

 =COUNTIF(Q2:U2,"O") 

D将是:

 =COUNTIF(Q2:U2,"-") 

E将是:

 =IF(V2>0,"X",IF(W2>0,"∆",X2+Y2=5,"O","FALSE"))