
Excel IF 和 IFERROR 差在哪?國中生也看得懂的公式教學
很多人剛開始學 Excel 的時候,常常會搞不懂 IF 和 IFERROR 的差別。
這兩個函數看起來都有「如果」的意思,但其實用途不一樣。
最簡單可以這樣記:
IF:用來判斷條件
IFERROR:用來處理錯誤
也就是說,IF 是在問:
這件事有沒有達成條件?
而 IFERROR 是在問:
這個公式有沒有出錯?
這篇文章會用最簡單的方式,帶你看懂 IF 和 IFERROR 的差別,並且教你什麼時候該用哪一個。
一、IF 是什麼?
IF 是 Excel 裡面很常用的判斷函數。
它的意思是:
如果條件成立,就顯示某個結果;如果條件不成立,就顯示另一個結果。
IF 的基本公式
=IF(條件, 條件成立時顯示什麼, 條件不成立時顯示什麼)
看起來有點長,但其實很像日常生活中的判斷。
例如:
如果考試分數大於等於 60 分,就及格,否則不及格。
用 Excel 公式寫就是:
=IF(A2>=60,"及格","不及格")
意思是:
如果 A2 的分數大於等於 60,就顯示「及格」。
如果沒有達到 60 分,就顯示「不及格」。
二、IF 可以用在哪裡?
IF 適合用在「需要判斷條件」的情況。
例如:
完成度有沒有超過 80%?
日期是不是快到了?
成績有沒有及格?
庫存有沒有低於安全數量?
金額有沒有超過折扣門檻?
只要你心裡有一句話是:
如果……就……,否則……
通常就可以用 IF。
三、IF 範例:判斷完成度
假設你的 W 欄是專案完成度。
如果完成度大於等於 80%,你想讓 Excel 顯示「接近完成」。
可以寫:
=IF(W2>=80%,"接近完成","")
這個公式的意思是:
如果 W2 大於等於 80%,就顯示:
接近完成
如果 W2 沒有達到 80%,就顯示空白。
其中:
""
代表空白。
四、IFERROR 是什麼?
IFERROR 是用來處理錯誤的函數。
它的意思是:
如果公式正常,就顯示正常結果;如果公式出錯,就顯示你指定的內容。
IFERROR 的基本公式
=IFERROR(公式, 出錯時要顯示什麼)
例如:
=IFERROR(A2/B2,"無法計算")
意思是:
如果 A2 除以 B2 可以正常計算,就顯示計算結果。
如果公式出錯,就顯示:
無法計算
五、為什麼需要 IFERROR?
因為 Excel 有時候會出現錯誤訊息。
常見的錯誤有:
| 錯誤訊息 | 意思 |
|---|---|
#DIV/0! | 除以 0 |
#VALUE! | 資料格式錯誤 |
#N/A | 查不到資料 |
#REF! | 參照到不存在的儲存格 |
#NAME? | 函數名稱或範圍名稱打錯 |
這些錯誤會讓表格看起來很亂。
所以我們可以用 IFERROR 讓錯誤不要直接顯示出來。
六、IFERROR 範例:計算金額
假設 D 欄是單價,E 欄是數量,你想算總金額。
一般可以寫:
=D2*E2
但是如果 D2 或 E2 裡面有錯誤,Excel 可能會顯示:
#VALUE!
這時候可以改成:
=IFERROR(D2*E2,"")
意思是:
如果 D2 乘以 E2 可以正常計算,就顯示金額。
如果出錯,就顯示空白。
七、IF 和 IFERROR 最大差別
IF 和 IFERROR 最大差別在於:
IF 是判斷條件
IFERROR 是處理錯誤
可以用這張表來記:
| 函數 | 它在檢查什麼 | 適合情況 |
|---|---|---|
IF | 條件有沒有成立 | 完成度、日期、成績、庫存、金額 |
IFERROR | 公式有沒有出錯 | 查不到資料、除以 0、公式錯誤 |
IF + IFERROR | 先判斷條件,再避免錯誤 | 專案提醒、報價單、訂單表 |
八、什麼時候用 IF?
當你想判斷某個條件時,就用 IF。
例如:
1. 判斷成績是否及格
=IF(A2>=60,"及格","不及格")
2. 判斷完成度是否接近完成
=IF(W2>=80%,"接近完成","")
3. 判斷庫存是否不足
=IF(B2<10,"需要補貨","")
4. 判斷金額是否達到折扣門檻
=IF(F2>=1000,"可打折","未達折扣")
這些情況都是在判斷條件,所以要用 IF。
九、什麼時候用 IFERROR?
當你怕公式出錯時,就可以用 IFERROR。
例如:
1. 計算可能出錯
=IFERROR(D2*E2,"")
2. 除法可能除以 0
=IFERROR(A2/B2,"無法計算")
3. 查資料可能查不到
=IFERROR(XLOOKUP(B2,清單!B:B,清單!A:A),"找不到")
這些情況不是在判斷條件,而是怕公式出錯,所以用 IFERROR。
十、什麼時候 IF 和 IFERROR 一起用?
有時候你既要判斷條件,又怕公式出錯。
這時候就可以把 IF 放進 IFERROR 裡面。
例如你的專案表可能會用到這種公式:
=IFERROR(IF(W2>=80%,"接近完成",IF(AND(U2>=TODAY(),U2-TODAY()<=10),"注意","")),"")
這個公式看起來很長,但可以拆開看。
十一、把公式拆開來看
這個公式:
=IFERROR(IF(W2>=80%,"接近完成",IF(AND(U2>=TODAY(),U2-TODAY()<=10),"注意","")),"")
可以分成三層。
第一層:最外面的 IFERROR
=IFERROR(主要公式,"")
意思是:
如果主要公式正常,就顯示正常結果。
如果主要公式出錯,就顯示空白。
第二層:先判斷完成度
IF(W2>=80%,"接近完成",後面繼續判斷)
意思是:
如果 W2 完成度大於等於 80%,就顯示:
接近完成
如果沒有達到 80%,就繼續往後判斷。
第三層:再判斷日期
IF(AND(U2>=TODAY(),U2-TODAY()<=10),"注意","")
意思是:
如果 U2 是今天或未來的日期,而且距離今天 10 天內,就顯示:
注意
如果不是,就顯示空白。
十二、整個公式的白話意思
這個公式的意思是:
如果公式出錯,就顯示空白。
如果完成度大於等於 80%,就顯示「接近完成」。
如果完成度還沒到 80%,就檢查日期是不是 10 天內。
如果日期快到了,就顯示「注意」。
如果都不是,就顯示空白。
簡單講,它的判斷順序是:
先看完成度 → 再看日期 → 最後防止錯誤
十三、國中生記法:IF 是問問題,IFERROR 是收拾錯誤
你可以這樣記:
IF:問問題
IFERROR:收拾錯誤
例如:
=IF(W2>=80%,"接近完成","")
這是在問:
W2 有沒有大於等於 80%?
而:
=IFERROR(D2*E2,"")
這是在說:
如果 D2 × E2 算不出來,就不要顯示錯誤。
十四、實際應用情境
1. 專案管理表
可以用 IF 判斷完成度:
=IF(W2>=80%,"接近完成","")
也可以用 IF 判斷截止日:
=IF(AND(U2>=TODAY(),U2-TODAY()<=10),"注意","")
如果怕公式出錯,可以加上 IFERROR:
=IFERROR(IF(W2>=80%,"接近完成",IF(AND(U2>=TODAY(),U2-TODAY()<=10),"注意","")),"")
2. 商品報價單
假設 D 欄是單價,E 欄是數量,可以用:
=IFERROR(D2*E2,"")
這樣如果資料還沒填好,表格就不會出現錯誤。
3. 成績表
可以用 IF 判斷及格或不及格:
=IF(A2>=60,"及格","不及格")
如果想判斷優良,也可以寫:
=IF(A2>=80,"表現優良","")
4. 庫存表
可以用 IF 判斷是否要補貨:
=IF(B2<10,"需要補貨","")
如果 B2 的庫存低於 10,就提醒「需要補貨」。
5. 查詢表
如果你用 XLOOKUP 查資料,可能會查不到。
這時候可以搭配 IFERROR:
=IFERROR(XLOOKUP(B2,清單!B:B,清單!A:A),"找不到資料")
意思是:
如果查得到,就顯示結果。
如果查不到,就顯示「找不到資料」。
十五、使用 IFERROR 要注意什麼?
雖然 IFERROR 很方便,但不要一開始就亂用。
因為 IFERROR 會把錯誤藏起來。
例如你的公式真的寫錯了,但你用了:
=IFERROR(錯誤公式,"")
Excel 就只會顯示空白。
這樣你可能不知道自己公式其實有問題。
比較好的做法是:
先確認公式是對的
再加 IFERROR 讓表格變乾淨
十六、總結:IF 和 IFERROR 什麼時候用?
最後整理成最簡單的表格:
| 你想做的事情 | 建議使用 |
|---|---|
| 判斷完成度是否超過 80% | IF |
| 判斷日期是否快到了 | IF |
| 判斷成績是否及格 | IF |
| 判斷庫存是否不足 | IF |
| 計算時怕出現錯誤 | IFERROR |
| 查資料怕查不到 | IFERROR |
不想看到 #REF!、#VALUE! | IFERROR |
| 既要判斷條件,又想防錯 | IFERROR + IF |
一句話記起來:
IF 是做判斷,IFERROR 是防錯。
更白話一點就是:
IF 負責決定結果。
IFERROR 負責讓錯誤不要出現。
如果你是做專案管理表、商品報價單、成績表、庫存表,這兩個函數都非常實用。
只要會分清楚:
條件判斷 → IF
錯誤處理 → IFERROR
你就已經掌握 Excel 自動化表格很重要的一步了。