簡體   English   中英

Excel:如何在Excel公式中構造嵌套的If條件

[英]Excel: How do i construct nested If condition in Excel formula

這是基於分數的評分公式。

If score < 4 Then LEVEL 1
If score > 4 and score < 9 LEVEL 2
If score > 8 and score < 13 LEVEL 3
If score > 12 and score < 15 LEVEL 4
If score > 15 LEVEL 5

我真的不知道,錯誤在哪里。 請幫忙。

=IF(A1<4,"LEVEL 1",IF(AND(A1>4,A1<9),"LEVEL 2",IF(AND(A1>8,A1<13,"LEVEL 3",IF(AND(A1>12,A1<17,"LEVEL 4",IF(A1>16,"LEVEL 5")))))))

您不需要AND() 如果第一個條件沒有自動通過,則數字大於4,因此您只需檢查它是否小於9,依此類推...或在公式中:

=IF(A1<4,"LEVEL 1",IF(A1<9,"LEVEL 2",IF(A1<13,"LEVEL 3",IF(A1<17, "LEVEL 4", "LEVEL 5"))))

您幾乎已經掌握了它,您只需要確保關閉AND語句的括號即可:

=IF(A1<4,"LEVEL 1",IF(AND(A1>4,A1<9),"LEVEL 2",IF(AND(A1>8,A1<13),"LEVEL 3",IF(AND(A1>12,A1<17),"LEVEL 4",IF(A1>16,"LEVEL 5")))))

您忘了在當時條件之前在右側關閉AND
第三個IF的狀態非常惡劣,並且沒有then或else語句,最后一個AND也發生了這種情況。

=IF(A1<4,              "LEVEL 1",
 IF(AND(A1>4, A1<9),   "LEVEL 2",
 IF(AND(A1>8, A1<13),  "LEVEL 3",
 IF(AND(A1>12, A1<17), "LEVEL 4",
 IF(A1>16,             "LEVEL 5")))))

很高興您能正常工作,但在這種情況下,您可能還想考慮另一種方法,而不是嵌套IF。

在其他工作表上或工作表中的其他地方創建一個表格,其中包含您的級別和達到該級別所需的分數:0級別1 4級別2 8級別3 12級別4 15級別5

然后使用VLOOKUP或INDEX(MATCH函數)查找匹配項。我喜歡INDEX(MATCH,因為它可以為您提供更多控制權。

=INDEX(Sheet1!$B$1:$B$5,MATCH(A1,Sheet1!$A$1:$A$5,1))

在這種情況下,我們的列表將在Sheet1上,級別在B列中列出,而所需的分數在A列中,而我們的公式在工作表2上引用從A1開始的實際得分。

INDEX函數查看一個數組-B1:B5-並從該數組中的指定行返回一個值。 MATCH函數查看一個數組-A1:A5-並返回小於或等於匹配值的最大數字在數組中的位置。 它將結果傳回INDEX以便可以選擇適當的行。

與多層嵌套IF相比,此方法更易於維護,修改和擴展。

您還可以使用以下公式:

=CHOOSE(MATCH(Score,{0,4,8,12,15},1),"Level 1","Level 2","Level 3","Level 4","Level 5")

分數是輸入單元格的定義名稱。

暫無
暫無

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

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