掌握 Excel 中的嵌套 IF 語句——逐步指南
在 Excel 中,雖然 IF 函數對於基本邏輯測試是必不可少的,但複雜的條件通常需要嵌套的 IF 語句來增強數據處理。在這份全面指南中,我們將詳細介紹嵌套 IF 的基礎知識,從語法到實際應用,包括嵌套 IF 與 AND/OR 條件的組合。此外,我們還將分享如何提高嵌套 IF 函數的可讀性以及一些關於嵌套 IF 的技巧,並探索強大的替代方案,如 VLOOKUP、IFS 等,以使複雜的邏輯操作更易於使用且更高效。
Excel IF 函數與嵌套 IF 語句
Excel 中的 IF 函數和嵌套 IF 語句用途相似,但在複雜性和應用上有顯著差異。
- 語法為:=IF (logical_test, [value_if_true], [value_if_false])
- 限制:一次只能處理一個條件,因此不太適合需要評估多個標準的更複雜的決策場景。
- 語法為:=IF( condition1, value_if_true1, IF( condition2, value_if_true2, value_if_false2 ))
- 複雜性:可以處理多個條件,但如果嵌套層數過多,可能會變得複雜且難以閱讀。
嵌套 IF 的語法
理解函數的語法是其在 Excel 中正確和有效應用的基礎。讓我們從嵌套 IF 語句的語法開始。
語法:
=IF(condition1, result1, IF(condition2, result2, IF(condition3, result3, result4)))
參數:
- Condition1, Condition2, Condition3:這些是您要測試的條件。每個條件按順序評估,從 Condition1 開始。
- Result1:如果 Condition1 為 TRUE,則返回此值。
- Result2:如果 Condition1 為 FALSE 且 Condition2 為 TRUE,則返回此值。需要注意的是,只有當 Condition1 為 FALSE 時,才會評估 Result2。
- Result3:如果 Condition1 和 Condition2 都為 FALSE,且 Condition3 為 TRUE,則返回此值。基本上,為了評估 Result3,之前的條件(Condition1 和 Condition2)必須都為 FALSE。
- Result4:如果所有條件(Condition1、Condition2 和 Condition3)都為 FALSE,則返回此結果。簡而言之,這個表達式可以解釋為:測試 condition1,如果為 TRUE,返回 result1,如果為 FALSE,
測試 condition2,如果為 TRUE,返回 result2,如果為 FALSE,
測試 condition3,如果為 TRUE,返回 result3,如果為 FALSE,
返回 result4
請記住,在嵌套 IF 結構中,只有當所有先前的條件都為 FALSE 時,才會評估每個後續條件。這種順序檢查對於理解嵌套 IF 的工作原理至關重要。
嵌套 IF 的實用範例
現在,讓我們深入了解使用嵌套 IF 的兩個實用範例。
範例1:評分系統
如下面的截圖所示,假設您有一個學生分數列表,並希望根據這些分數分配等級。您可以使用嵌套 IF來完成此任務。
選擇一個空白單元格(在此情況下為 C2),輸入以下公式並按 Enter 鍵獲取結果。然後拖動填充柄以獲取其餘結果。
=IF(B2>=90,$F$2,IF(B2>=80,$F$3,IF(B2>=70,$F$4,IF(B2>=60,$F$5,$F$6))))
- 您可以直接在公式中指定等級級別,因此公式可以更改為:
=IF(A2>=90, "A", IF(A2>=80, "B", IF(A2>=70, "C", IF(A2>=60, "D", "F"))))
- 此公式用於根據單元格 A2 中的分數分配等級(A、B、C、D 或 F),使用標準評分門檻。這是嵌套 IF 語句在學術評分系統中的典型用例。
- 公式說明:
- A2>=90:這是公式檢查的第一個條件。如果單元格 A2 中的分數大於或等於90,則公式返回 "A"。
- A2>=80:如果第一個條件為假(分數小於90),則檢查 A2 是否大於或等於80。如果為真,則返回 "B"。
- A2>=70:同樣,如果分數小於80,則檢查它是否大於或等於70。如果為真,則返回 "C"。
- A2>=60:如果分數小於70,則公式檢查它是否大於或等於60。如果為真,則返回 "D"。
- "F":最後,如果上述條件均不滿足(即分數小於60),則公式返回 "F"。
範例2:銷售佣金計算
想像一個場景,銷售代表根據其銷售業績獲得不同的佣金率。如下面的截圖所示,您希望根據這些不同的銷售門檻計算銷售人員的佣金,嵌套 IF 語句可以幫助您完成此操作。
- 第一級($20,000+):20%
- 第二級($10,000-$19,999):15%
- 第三級(<$10,000):10%
選擇一個空白單元格(在此情況下為 C2),輸入以下公式並按 Enter 鍵獲取結果。然後拖動填充柄以獲取其餘結果。
=B2*IF(B2>20000,$F$2,IF(B2>=10000,$F$3,$F$4))
- 您可以直接在公式中指定佣金率,因此公式可以更改為:
=B2*IF(B2>20000, 20%, IF(B2>=10000, 15%, 10%))
- 提供的公式用於根據銷售人員的銷售額計算其佣金,對不同的銷售門檻應用不同的佣金率。
- 公式說明:
- B2:這表示銷售人員的銷售額,作為計算佣金的基礎。
- IF(B2>20000, "20%", ...):這是檢查的第一個條件。它檢查 B2 中的銷售額是否大於20,000。如果是,則公式使用20% 的佣金率。
- IF(B2>=10000, "15%", "10%"):如果第一個條件為假(銷售額不大於20,000),則公式檢查銷售額是否等於或超過10,000。如果為真,則應用15% 的佣金率。如果銷售額小於10,000,則公式默認為10% 的佣金率。
嵌套 IF 與 AND / OR 條件
在本節中,我修改了上述第一個範例「評分系統」,以展示如何在 Excel 中將嵌套 IF 與 AND 或 OR 條件結合使用。在修訂的評分範例中,我引入了一個基於「出勤率」的附加條件。
使用嵌套 IF 與 AND 條件
如果學生同時滿足分數和出勤標準,他們將獲得等級提升。例如,分數為60 或更高且出勤率為95% 或以上的學生,其等級將提升一級,如從 A 到 A+,B 到 B+ 等。然而,如果出勤率低於95%,則評分將遵循原始的基於分數的標準。在這種情況下,我們需要使用帶有 AND 條件的嵌套 IF 語句。
選擇一個空白單元格(在此情況下為 D2),輸入以下公式並按 Enter 鍵獲取結果。然後拖動填充柄以獲取其餘結果。
=IF(AND(B2>=60, C2>=95%),IF(B2>=90, "A+", IF(B2>=80, "B+", IF(B2>=70, "C+", "D+"))),IF(B2>=90, "A", IF(B2>=80, "B", IF(B2>=70, "C", IF(B2>=60, "D", "F")))))
- AND 條件檢查:AND(B2>=60, C2>=95%):AND 條件首先檢查兩個條件是否都滿足——學生的分數為60 或更高,且出勤率為95% 或以上。
- 新等級分配:IF(B2>=90, "A+", IF(B2>=80, "B+", IF(B2>=70, "C+", "D+"))):如果 AND 語句中的兩個條件都為真,則公式檢查學生的分數並將其等級提升一級。
- B2>=90:如果分數為90 或以上,則等級為 "A+"。新等級分配:
- B2>=80:如果分數為80 或以上(但小於90),則等級為 "B+"。
- B2>=70:如果分數為70 或以上(但小於80),則等級為 "C+"。
- B2>=60:如果分數為60 或以上(但小於70),則等級為 "D+"。
- 常規等級分配:IF(B2>=90, "A", IF(B2>=80, "B", IF(B2>=70, "C", IF(B2>=60, "D", "F")))):如果 AND 條件不滿足(分數低於80 或出勤率低於95%),則公式分配標準等級。
- B2>=90:分數90 或以上獲得 "A"。
- B2>=80:分數80 或以上(但小於90)獲得 "B"。
- B2>=70:分數70 或以上(但小於80)獲得 "C"。
- B2>=60:分數60 或以上(但小於70)獲得 "D"。
- 分數低於60 獲得 "F"。
使用嵌套 IF 與 OR 條件
在這種情況下,如果學生的分數為95 或更高,或其出勤率為95% 或以上,則其等級將提升一級。以下是如何使用嵌套 IF 和 OR 條件來實現這一點。
選擇一個空白單元格(在此情況下為 D2),輸入以下公式並按 Enter 鍵獲取結果。然後拖動填充柄以獲取其餘結果。
=IF(OR(B2>=95, C2>=95%),IF(B2>=90, "A+", IF(B2>=80, "B+", IF(B2>=70, "C+", IF(B2>=60, "D+", "F+")))),IF(B2>=90, "A", IF(B2>=80, "B", IF(B2>=70, "C", IF(B2>=60, "D", "F")))))
- OR 條件檢查:OR(B2>=95, C2>=95%):公式首先檢查任一條件是否為真——學生的分數為95 或更高,或其出勤率為95% 或更高。
- 帶有獎勵的等級分配:IF(B2>=90, "A+", IF(B2>=80, "B+", IF(B2>=70, "C+", IF(B2>=60, "D+", "F+")))):如果 OR 語句中的任一條件為真,則學生的等級將提升一級。
- B2>=90:如果分數為90 或以上,則等級為 "A+"。
- B2>=80:如果分數為80 或以上(但小於90),則等級為 "B+"。
- B2>=70:如果分數為70 或以上(但小於80),則等級為 "C+"。
- B2>=60:如果分數為60 或以上(但小於70),則等級為 "D+"。
- 否則,等級為 "F+"。
- 常規等級分配:IF(B2>=80, "B", IF(B2>=70, "C", IF(B2>=60, "D", "F")))):如果 OR 條件均不滿足(分數低於95 且出勤率低於95%),則公式分配標準等級。
- B2>=90:分數90 或以上獲得 "A"。
- B2>=80:分數80 或以上(但小於90)獲得 "B"。
- B2>=70:分數70 或以上(但小於80)獲得 "C"。
- B2>=60:分數60 或以上(但小於70)獲得 "D"。
- 分數低於60 獲得 "F"。
使嵌套 IF 易於閱讀
典型的嵌套 IF 語句可能看起來很緊湊,但可能難以解讀。
在以下公式中,隨著複雜性的增加,很難快速識別一個條件結束和另一個條件開始的位置。
=IF(A2>=90, "A", IF(A2>=80, "B", IF(A2>=70, "C", IF(A2>=60, "D", "F"))))
解決方案:添加換行和縮進
為了使嵌套 IF 易於閱讀,您可以將公式分成多行,每個嵌套 IF另起一行。在公式中,只需將光標放在 IF 前面,然後按 Alt + Enter 鍵。
在分解上述公式後,它將顯示如下:
=IF(A2>=90, "A",
IF(A2>=80, "B",
IF(A2>=70, "C",
IF(A2>=60, "D", "F")))
)
此格式使每個條件及其對應的輸出位置更加清晰,提高了公式的可讀性。
嵌套 IF 函數的順序
嵌套 IF公式中邏輯條件的順序至關重要,因為它決定了 Excel 如何評估這些條件,從而影響公式的最終結果。
正確的公式
在評分系統範例中,我們使用以下公式根據分數分配等級。
=IF(B2>=90, "A", IF(B2>=80, "B", IF(B2>=70, "C", IF(B2>=60, "D", "F"))))
Excel 在嵌套 IF公式中按順序評估條件,從第一個條件到最後一個。此公式首先檢查最高分數門檻(>=90 為 "A"),然後移至較低的門檻。這確保分數與其符合的最高等級進行比較。如果第一個條件為真(A2>=90),則返回 "A",並且不再評估任何其他條件。
順序錯誤的公式
如果條件的順序顛倒,從最低門檻開始,則會返回錯誤的結果。
=IF(B2>=60, "D", IF(B2>=70, "C", IF(B2>=80, "B", IF(B2>=90, "A", "F"))))
在此錯誤公式中,分數95會立即滿足第一個條件 B2>=60 並被錯誤地分配為 "D" 等級。
數字和文字應該區別對待
本節將向您展示在嵌套 IF 語句中如何區別對待數字和文字。
數字
數字用於算術比較和計算。在嵌套 IF 語句中,您可以直接使用運算符如 >, <, =, >= 和 <=來比較數字。
文字
在嵌套 IF 語句中,文字應該用雙引號括起來。請參見以下公式中的 A、B、C、D 和 F:
=IF(A2>=90, "A", IF(A2>=80, "B", IF(A2>=70, "C", IF(A2>=60, "D", "F"))))
嵌套 IF 的限制
本節列出了嵌套 IF 的幾個限制和缺點。
複雜性和可讀性:
儘管 Excel允許您嵌套多達64 個不同的 IF 函數,但這樣做並不建議。嵌套層數越多,公式就越複雜。這可能導致公式難以閱讀、理解和維護。
容易出錯:
此外,複雜的嵌套 IF 語句可能容易出錯,並且難以調試或修改。
難以擴展或縮放:
如果您的邏輯發生變化或需要添加更多條件,深度嵌套的 IF可能難以修改或擴展。
了解這些限制是有效使用 Excel 中嵌套 IF 語句的關鍵。通常,將嵌套 IF 與其他函數結合使用或尋找替代方法可以導致更高效和可維護的解決方案。
使用 VLOOKUP
您可以使用 VLOOKUP 函數來代替嵌套 IF 語句來完成上述兩個實用範例。以下是如何做到的:
範例1:使用 VLOOKUP 的評分系統
在這裡,我將展示如何使用 VLOOKUP 根據分數分配等級。
步驟1:創建一個評分查找表
首先,您需要創建一個查找表(例如在此情況下為 E1:F6),用於分數範圍及其對應的等級。注意: 表格第一列的分數必須按升序排序。
步驟2:應用 VLOOKUP 函數分配等級
選擇一個空白單元格(在此情況下為 C2),輸入以下公式並按 Enter 鍵獲取第一個等級。選擇此公式單元格並拖動其填充柄以獲取其餘等級。
=VLOOKUP(B2,$E$2:$F$6,2,TRUE)
- 單元格 B2 中的值95 是 VLOOKUP 在查找表的第一列($E$2:$F$6)中搜索的內容。如果找到,則返回表格第二列中與匹配值位於同一行的對應等級。
- 請記住將查找表引用設為絕對(在引用前添加美元符號 ($)),這意味著如果將公式複製到另一個單元格,引用將不會改變。
- 要了解有關 VLOOKUP 函數的更多信息,請訪問此頁面。
範例2:使用 VLOOKUP 的銷售佣金計算
您也可以使用 VLOOKUP 在 Excel 中完成銷售佣金計算。請按以下步驟操作。
步驟1:創建一個評分查找表
首先,您需要創建一個銷售及其對應佣金率的查找表,例如在此情況下為 E2:F4。注意:表格第一列的銷售必須按升序排序。
步驟2:應用 VLOOKUP 函數分配等級
選擇一個空白單元格(在此情況下為 C2),輸入以下公式並按 Enter 鍵獲取第一個佣金。選擇此公式單元格並拖動其填充柄以獲取其餘結果。
=B2*VLOOKUP(B2,$E$2:$F$4,2,TRUE)
- 在這兩個範例中,VLOOKUP 用於根據查找值(分數或銷售額)在表格中查找值,並返回指定列(等級或佣金率)中同一行的值。第四個參數 TRUE 表示近似匹配,這適用於這些場景,其中表格中可能不存在精確的查找值。
- 要了解有關 VLOOKUP 函數的更多信息,請訪問此頁面。
使用 IFS
IFS 函數通過消除嵌套的需要簡化了過程,使公式更易於閱讀和管理。它提高了可讀性並簡化了多個條件檢查的處理。要使用 IFS 函數,請確保您使用的是 Excel2019 或更高版本,或擁有 Office365 訂閱。讓我們看看如何在實際範例中應用它。
範例1:使用 IFS 的評分系統
假設與之前相同的評分標準,IFS 函數可以如下使用:
選擇一個空白單元格,例如 C2,輸入以下公式並按 Enter 鍵獲取第一個結果。選擇此結果單元格並拖動其填充柄以獲取其餘結果。
=IFS(B2>=90,"A",B2>=80,"B",B2>=70,"C",B2>=60,"D",B2<60,"F")
- 每個條件按順序評估。一旦滿足某個條件,則返回其對應的結果,公式停止檢查其他條件。在此情況下,公式用於根據 B2 中的分數分配等級,遵循典型的評分標準,其中較高的分數對應於較好的等級。
- 要了解有關 IFS 函數的更多信息,請訪問此頁面。
範例2:使用 IFS 的銷售佣金計算
對於銷售佣金計算場景,IFS 函數的應用如下:
選擇一個空白單元格,例如 C2,輸入以下公式並按 Enter 鍵獲取第一個結果。選擇此結果單元格並拖動其填充柄以獲取其餘結果。
=B2*IFS(B2>20000,20%,B2>=10000,15%,TRUE,10%)
使用 CHOOSE 和 MATCH
與嵌套 IF 語句相比,CHOOSE 和 MATCH 方法可能更高效且更易於管理。此方法簡化了公式,使更新或更改更為簡單。下面我將演示如何使用 CHOOSE 和 MATCH 函數的組合來處理本文中的兩個實用範例。
範例1:使用 CHOOSE 和 MATCH 的評分系統
您可以使用 CHOOSE 和 MATCH 函數的組合根據不同的分數分配等級。
步驟1:創建一個包含搜尋值的查找數組
首先,您需要創建一個包含 MATCH 將搜尋的門檻值的單元格範圍,例如在此情況下為 $E$2:$E$6。注意: 此範圍內的數字必須按升序排序,以便 MATCH 函數在使用近似匹配類型時正確工作。
步驟2:應用 CHOOSE 和 MATCH 分配等級
選擇一個空白單元格(在此情況下為 C2),輸入以下公式並按 Enter 鍵獲取第一個等級。選擇此公式單元格並拖動其填充柄以獲取其餘結果。
=CHOOSE(MATCH(B2, $E$2:$E$6, 1), "F", "D", "C", "B", "A")
範例2:使用 IFS 的銷售佣金計算
使用 CHOOSE 和 MATCH 組合進行銷售佣金計算也可以有效,尤其是當佣金率基於指定的銷售門檻時。讓我們看看如何做到。
步驟1:創建一個包含搜尋值的查找數組
首先,您需要創建一個包含 MATCH 將搜尋的門檻值的單元格範圍,例如在此情況下為 $E$2:$E$4。注意: 此範圍內的數字必須按升序排序,以便 MATCH 函數在使用近似匹配類型時正確工作。
步驟2:應用 CHOOSE 和 MATCH 獲取結果
選擇一個空白單元格(在此情況下為 C2),輸入以下公式並按 Enter 鍵獲取第一個等級。選擇此公式單元格並拖動其填充柄以獲取其餘結果。
=B2*CHOOSE(MATCH(B2, $E$2:$E$4, 1), 10%, 15%, 20%)
總之,掌握 Excel 中的嵌套 IF 語句是一項寶貴的技能,能夠增強您在數據分析和決策過程中處理複雜邏輯場景的能力。雖然嵌套 IF 在複雜邏輯操作中非常強大,但重要的是要注意其限制。像 VLOOKUP、IFS 和 CHOOSE 與 MATCH這樣的簡單替代方案可以在某些情況下提供更簡化的解決方案。掌握這些見解後,您現在可以自信地將最合適的 Excel 技術應用於您的數據分析任務,確保電子表格的清晰度、準確性和效率。對於那些渴望深入了解 Excel 功能的人,我們的網站擁有豐富的教程。在這裡發現更多 Excel 技巧和竅門。
相關文章
在 Excel 中使用 IF 函數與 AND、OR 和 NOT
當與 AND、OR 和 NOT 等邏輯運算符結合使用時,IF 函數的功能顯著擴展。這種組合的力量在於它們能夠同時處理多個條件,提供能夠適應多樣且複雜場景的結果。在本教程中,我們將探討如何在 Excel 中有效利用這些強大的函數來解鎖數據分析的新維度並增強您的決策過程。
使用 IF 語句的條件下拉列表
本教程演示了5 種方法,將幫助您逐步在 Excel 中創建條件下拉列表。
Power Query:If 語句 - 嵌套 ifs 和多個條件
在 Excel Power Query 中,IF 語句是檢查條件並根據結果是 TRUE 還是 FALSE 返回特定值的最受歡迎的函數之一。此 if 語句與 Excel 的 IF 函數之間存在一些差異。在本教程中,我將介紹此 if 語句的語法以及一些簡單和複雜的範例供您參考。
最佳辦公效率工具
🤖 | Kutools AI 助手:基於智能執行方式革新數據分析:智能執行 | 生成代碼 | 創建自訂公式 | 分析數據並生成圖表 | 調用 Kutools 函數… |
熱門功能:查找、標記重複值或識別重複項 | 刪除空行 | 合併列或單元格而不丟失數據 | 四捨五入無需公式 ... | |
高級 LOOKUP: 多條件 VLookup | 多值 VLookup | 多表查找 | 模糊查找 .... | |
高級下拉列表:快速創建下拉列表 | 依賴下拉列表 | 多選下拉列表 .... | |
列管理器: 添加特定數量的列 | 移動列 | 切換隱藏列的可見狀態 | 比較區域和列 ... | |
特色功能:網格聚焦 | 設計檢視 | 增強編輯欄 | 工作簿與工作表管理器 | 資源庫(自動文本) | 日期提取器 | 合併資料 | 加密/解密儲存格 | 按列表發送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體/斜體/刪除線...) ... | |
頂級 15 種工具集: 12 個文本工具(添加文本、刪除特定字符、...) | 50+ 圖表 類型(甘特圖、...) | 40+ 實用 公式(基於生日計算年齡、...) | 19 個插入工具(插入QR碼、根據路徑插入圖片、...) | 12 個轉換工具(金額轉大寫、匯率轉換、...) | 7 個合併與分割工具(高級合併行、分割儲存格、...) | ... 還有更多 |
使用 Kutools for Excel 提升您的 Excel 技巧,體驗前所未有的高效。 Kutools for Excel 提供超過 300 種高級功能來提高生產力並節省時間。 點擊這裡獲取您最需要的功能...
Office Tab 將標籤式界面帶到 Office,讓您的工作更加輕鬆
- 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中啟用標籤式編輯和閱讀。
- 在同一窗口的新標籤中打開和創建多個文檔,而不是在新窗口中。
- 將您的生產力提高 50%,每天為您減少數百次鼠標點擊!