IFERROR 函數的作用是捕捉並處理 Excel 公式中的錯誤。只要使用「IFERROR(原公式, "錯誤時顯示的值")」,就能將 #DIV/0!、#N/A 等錯誤代碼替換成你指定的文字,讓表格保持整潔。
其實 Excel 中光是函數部分就有好幾百個,常會用到的也蠻多的。阿湯也是邊學邊記,再分享給大家。上次在「Excel 小教室 - 運用幾個函數讓有科目缺考的學生,總分不列入班級排名」這篇教學中,我們曾經提到過「IFERROR」這個函數,阿湯發現竟然沒有專文寫過,所以今天來詳細介紹它的各種用法。這篇文章會帶你了解如何檢查公式和儲存格中存在的各種錯誤,包含名稱錯誤、參數值錯誤及無效值,一起來看這位好用的抓錯小幫手。
什麼是 IFERROR 函數?語法與支援的錯誤類型
IFERROR 屬於 Excel 中的邏輯函數,在 Excel 2007(含)以上的版本都有支援。它的主要功能是捕捉並處理公式中的錯誤。如果公式計算結果發生錯誤,它就會傳回你所指定的值;如果沒有錯誤,則會正常傳回公式的計算結果。
IFERROR 函數的語法非常簡單:
IFERROR(value, value_if_error)
- Value(必要參數):這會檢查此引數是否有錯誤,通常是你要計算的公式或儲存格參照。
- Value_if_error(必要參數):這是當公式計算錯誤時,你希望 Excel 傳回的指定值。它可以評估並攔截的錯誤類型包含:#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME? 或 #NULL!。
如何解決 Excel 除以零錯誤「#DIV/0!」?
在計算平均值或單價時,常常會遇到除數為 0 的情況。以下圖為例,我們想計算單價,公式為 B2/C2(總價除以數量)。當我們把公式往下複製後,發現有兩格因為數量是 0,出現了「#DIV/0!」的公式錯誤。
為了解決這個問題,我們可以新增一欄來檢查錯誤。請在目標儲存格輸入以下公式:
=IFERROR($D$2:$D$9),"數量為零")
這段公式的意思是:如果 D2:D9(原本計算出來的單價)是正確的值,就正常顯示出來;如果發生錯誤(例如除以零),則顯示我們自訂的文字「數量為零」。輸入完成後,將公式往下複製,就能完成除錯,讓表格看起來更乾淨。
Excel 函數名稱打錯出現「#NAME?」的除錯方法
如果你習慣手動在儲存格輸入公式,還蠻容易不小心打錯函數名稱的。例如,原本想輸入加總函數 SUM,卻不小心打成了 SaM。
當你把打錯函數名稱的那一格按下 Enter 後,儲存格就會顯示「#NAME?」的名稱錯誤。這時候,我們一樣可以利用 IFERROR 公式來進行除錯,請輸入:
=IFERROR(sam(C2:C9),"公式名稱錯誤")
按下 Enter 後,因為原本的公式有錯誤,IFERROR 就會攔截並顯示我們設定的提示文字,這樣就能快速找出哪裡設定有問題了。
處理 VLOOKUP 參數值錯誤「#VALUE!」
在使用 VLOOKUP 函數尋找資料時,如果參數設定不正確,就會出現「#VALUE!」的參數值錯誤。例如,當你輸入的公式中,第一個參數(查詢值)的範圍大於第二個參數(查詢範圍)的列數時,就會觸發這個錯誤。
遇到這種情況,我們可以透過 IFERROR 來包裝原本的 VLOOKUP 公式,查錯公式如下:
=IFERROR(VLOOKUP(C2:E9,C2:C9,1,0),"參數錯誤")
透過這個方式,當參數值發生錯誤時,儲存格就會顯示我們指定的錯誤提示,方便後續檢查與修正。
解決 VLOOKUP 找不到資料的無效值「#N/A」
在使用 VLOOKUP 查詢資料時,另一個常見的錯誤是找不到對應的資料。假設我們要查 A2:A9(口味)這一欄,但清單內容並沒有「楊桃」。如果公式硬要找「楊桃」,就會出現「#N/A」的無效值錯誤。
我們可以利用 IFERROR 來處理這個找不到資料的狀況,公式如下:
=IFERROR(VLOOKUP("楊桃",A2:A9,1,0),"無效值")
因為範圍內沒有楊桃,所以會觸發錯誤並顯示我們設定的「無效值」。但如果你將公式裡的「楊桃」改成「西瓜」,因為搜尋範圍中確實有西瓜,公式計算正確,就會正常顯示正確值「西瓜」。
更多 Office 相關教學:請點我
常見問題
什麼是 IFERROR 函數?
IFERROR 是 Excel 中的邏輯函數,用來捕捉並處理公式中的錯誤。當公式計算錯誤時,會傳回你所指定的值;若無錯誤,則傳回正常的計算結果。
IFERROR 可以處理哪些 Excel 錯誤類型?
IFERROR 函數可以評估並攔截多種常見的錯誤類型,包含:#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME? 以及 #NULL!。
Excel 出現「#DIV/0!」錯誤該怎麼辦?
這是因為公式中的除數為 0。你可以使用 IFERROR 函數包裝原本的公式,例如設定錯誤時顯示「數量為零」,這樣當除數為 0 時就不會顯示錯誤代碼。
為什麼 Excel 會顯示「#NAME?」錯誤?
通常是因為手動輸入公式時,不小心打錯了函數名稱(例如把 SUM 打成 SaM)。你可以檢查函數拼字,或用 IFERROR 函數來提示名稱錯誤。
(本文於 2026 年 10 月更新:補充步驟說明與常見問題)




