目錄
ToggleExcel IF ELSE 函數完整教學
Excel的IF函數是資料分析、報表自動化與決策判斷的核心工具之一。無論是成績分類、薪資計算、績效評估還是流程自動化,IF函數都能協助你根據條件自動產生結果。本文將從基礎語法、進階應用到實務案例,帶你全面掌握Excel中的IF ELSE功能,並解析常見錯誤與最佳實踐。
IF函數基礎語法與用法
IF函數可根據指定條件,返回不同的結果。其語法如下:
=IF(logical_test, value_if_true, value_if_false)
- logical_test:要判斷的條件(如A1>60)。
- value_if_true:條件成立時要顯示或執行的內容。
- value_if_false:條件不成立時要顯示或執行的內容。
範例1:數字判斷
假設A1儲存學生成績,判斷是否及格:
=IF(A1>=60, "及格", "不及格")
範例2:文字判斷
判斷B1是否為「已完成」:
=IF(B1="已完成", "OK", "待處理")
範例3:日期判斷
判斷C1日期是否晚於今天:
=IF(C1>TODAY(), "未到期", "已到期")
常見錯誤提醒
– IF函數的條件判斷區分大小寫(文字比對時需注意)。
– 若條件為空值,結果可能出現預期外的錯誤,建議加上ISBLANK等判斷。
多條件判斷:AND/OR與巢狀IF
AND/OR結合IF的語法與範例
當需要同時判斷多個條件時,可結合AND或OR函數:
範例1:同時滿足多個條件(AND)
A1分數需大於60且B1出席為「是」才算及格:
=IF(AND(A1>60, B1="是"), "及格", "不及格")
範例2:任一條件成立(OR)
A1或B1其中一項大於80即為「優秀」:
=IF(OR(A1>80, B1>80), "優秀", "普通")
巢狀IF的寫法與可讀性
巢狀IF可處理多層條件,但過多時會降低可讀性與維護性。
範例:成績分級
A1分數判斷等級:
=IF(A1>=90, "A", IF(A1>=80, "B", IF(A1>=70, "C", "D")))
巢狀IF限制與最佳實踐
– 巢狀層數過多會讓公式難以維護,易出錯。
– 建議條件不超過3層,複雜情境可考慮IFS或SWITCH函數。
進階用法:IFS與SWITCH函數
IFS函數:多條件判斷的簡化
IFS函數(Excel 2016以上版本)可同時處理多個條件,語法更簡潔:
=IFS(條件1, 結果1, 條件2, 結果2, ...)
範例:分數分級
=IFS(A1>=90, "A", A1>=80, "B", A1>=70, "C", A1<70, "D")
SWITCH函數:多值對應情境
SWITCH函數適合根據一個值對應多個結果:
=SWITCH(表達式, 值1, 結果1, 值2, 結果2, ..., [預設結果])
範例:部門代碼轉換
=SWITCH(A1, "HR", "人資", "IT", "資訊", "FIN", "財務", "其他")
IFS/SWITCH與巢狀IF比較
– IFS/SWITCH語法更簡潔,易於閱讀與維護。
– 支援版本需為Excel 2016以上。
IF函數與其他函數結合應用
與SUM、AVERAGE結合
範例:條件加總
只加總分數大於60的學生:
=SUMIF(A1:A10, ">60")
範例:條件平均
只計算「已完成」任務的平均分數:
=AVERAGEIF(B1:B10, "已完成", A1:A10)
與VLOOKUP結合
範例:查找並判斷
=IF(VLOOKUP(D1, A1:B10, 2, FALSE)="合格", "通過", "未通過")
條件格式化搭配IF
可利用條件格式化,根據IF判斷自動變色或標註。
動態範圍與陣列公式
範例:多條件判斷並自動標註
=IF((A1>60)*(B1="是"), "及格", "不及格")
常見錯誤與除錯技巧
錯誤訊息 | 可能原因 | 解決方法 |
---|---|---|
#VALUE! | 參數類型不符、空值、錯誤運算 | 檢查參數型態、使用ISNUMBER等判斷 |
#NAME? | 拼字錯誤、函數名稱錯誤 | 檢查公式拼寫 |
#REF! | 參照範圍錯誤 | 檢查儲存格範圍 |
除錯建議
– 使用「公式稽核」功能追蹤錯誤來源。
– 搭配ISERROR、IFERROR包覆公式,避免錯誤中斷運算。
範例:避免錯誤中斷
=IFERROR(IF(A1>60, "及格", "不及格"), "資料異常")
實務案例分享
成績判斷與分級
情境: 學校老師需自動判斷學生成績等級。
分數區間 | 等級 |
---|---|
90以上 | A |
80-89 | B |
70-79 | C |
70以下 | D |
公式:
=IFS(A2>=90,"A",A2>=80,"B",A2>=70,"C",A2<70,"D")
薪資計算
情境: 根據加班時數自動計算獎金。
=IF(B2>10, 2000, IF(B2>5, 1000, 0))
分類標籤自動產生
情境: 銷售數據自動標註「高」、「中」、「低」銷售額。
=IF(A2>=100000, "高", IF(A2>=50000, "中", "低"))
FAQ:Excel IF ELSE 常見問題
Q1:Excel有ELSE函數嗎?
A:沒有獨立ELSE函數,IF的第三個參數即為ELSE的功能。
Q2:IF可以處理空值嗎?
A:可以,建議搭配ISBLANK或LEN判斷空值。
=IF(ISBLANK(A1), "未填寫", "已填寫")
Q3:IF能否嵌套VLOOKUP等其他函數?
A:可以,IF可與VLOOKUP、SUM、AVERAGE等多種函數結合。
Q4:IF與IFS有何差異?
A:IFS語法更簡潔,適合多條件判斷,但僅支援新版Excel。
Q5:巢狀IF有層數限制嗎?
A:舊版Excel最多7層,較新版可達64層,但不建議過度巢狀。
不同Excel版本的支援差異
函數 | Excel 2013 | Excel 2016 | Excel 365 |
---|---|---|---|
IF | 支援 | 支援 | 支援 |
IFS | 不支援 | 支援 | 支援 |
SWITCH | 不支援 | 支援 | 支援 |
建議: 若需大量多條件判斷,建議使用Excel 2016以上版本,或考慮雲端協作工具如 Monday.com 進行自動化報表設計,提升效率與團隊協作。
結論與自動化應用建議
掌握Excel的IF、IFS、SWITCH等條件判斷函數,能大幅提升數據處理與決策效率。無論是日常報表、績效追蹤還是自動化分類,這些工具都是不可或缺的利器。若需進一步提升團隊協作與自動化報表能力,建議可嘗試 Monday.com、ClickUp 等專案管理平台,結合Excel匯出與自動條件判斷,打造高效數位工作流程。