簡體   English   中英

如何在Excel中創建復雜的嵌套If語句?

[英]How to create complex nested If statement in Excel?

我在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,則單元格= X

  2. 如果單元格Q2到U2中的任何一個=日期格式,則單元格= ∆

  3. 如果Q2至U2 = O,則單元格= O

  4. 如果不滿足任何條件,則該單元格的值為“ FALSE”。 (默認顯示)

每個單元都有此條件,

  1. 如果單元格Q2到U2中的任何一個=-,則忽略該單元格並計數其他單元格以獲得最終結果。

我嘗試在原始公式中切換為Or來測試條件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")返回XQ2:U2范圍內的出現次數。

代替“不包含X”,我們可以首先檢查條件2:

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

excel中的日期實際上是帶有裝飾性格式的數字。 我正在使用ISNUMBER來查找數字,並使用SUMPRODUCT來計算范圍內已標識的單元格。 如果大於0(至少1),則它將變為

現在可以代替“不包含X或日期”來檢查O 我將對O計數,並用- (條件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"))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM