我在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语句。
这些条件依次为:
如果单元格Q2至U2中的任何一个= X,则单元格= X
如果单元格Q2到U2中的任何一个=日期格式,则单元格=Δ
如果Q2到U2 = O,则单元格= O
如果没有满足任何条件,则单元格的值为“FALSE”。 (出现默认值)
每个细胞都有这样的条件,
我尝试在我的原始公式中切换到Or来测试条件1和3。
=IF((Q2="O")*or(R2="O")*or(S2="O")*or(T2="O")*or(U2="O"),"O","X")
但它不起作用。另外,我不知道如何做条件5。有什么帮助吗?
使用Excel公式可以做一些如此复杂的事情吗?或者我需要进入VBA吗?
答案 0 :(得分:1)
如果您按优先顺序解决问题,这样的事情通常会更容易。看起来1具有最高优先级:
=IF(COUNTIF(Q2:U2,"X")>0,"X","Does not contain X")
COUNTIF(Q2:U2,"X")
会返回X
范围内Q2:U2
的出现次数。
代替"不包含X",我们可以先检查条件2:
=IF(SUMPRODUCT(--ISNUMBER(Q2:U2))>0,"∆","Does not contain X or dates")
excel中的日期实际上是带有一些装饰格式的数字。我使用ISNUMBER
查找数字,SUMPRODUCT
计算范围内已识别的单元格。如果大于0(至少为1),则它将变为∆
。
代替"不包含X或日期"现在,我们可以检查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"))