免費軟體與線上工具1,417影音、圖片與 PDF9153C 開箱評測895生活、旅遊與遊戲798iPhone 與 Mac547LINE 與社群533Google 服務467Windows 與電腦454Office 教學403Android 手機402網路新知372AI 工具122
Office 教學

Excel 小教室 - 除錯高手「IFERROR」函數,幫你解決名稱錯誤、參數錯誤

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!」的公式錯誤。

Excel 單價計算出現除以零的 #DIV/0! 錯誤畫面

為了解決這個問題,我們可以新增一欄來檢查錯誤。請在目標儲存格輸入以下公式:

=IFERROR($D$2:$D$9),"數量為零")

這段公式的意思是:如果 D2:D9(原本計算出來的單價)是正確的值,就正常顯示出來;如果發生錯誤(例如除以零),則顯示我們自訂的文字「數量為零」。輸入完成後,將公式往下複製,就能完成除錯,讓表格看起來更乾淨。

使用 IFERROR 函數將 #DIV/0! 錯誤替換為指定文字

Excel 函數名稱打錯出現「#NAME?」的除錯方法

如果你習慣手動在儲存格輸入公式,還蠻容易不小心打錯函數名稱的。例如,原本想輸入加總函數 SUM,卻不小心打成了 SaM。

手動輸入公式時將 SUM 誤打成 SaM 的畫面

當你把打錯函數名稱的那一格按下 Enter 後,儲存格就會顯示「#NAME?」的名稱錯誤。這時候,我們一樣可以利用 IFERROR 公式來進行除錯,請輸入:

=IFERROR(sam(C2:C9),"公式名稱錯誤")

按下 Enter 後,因為原本的公式有錯誤,IFERROR 就會攔截並顯示我們設定的提示文字,這樣就能快速找出哪裡設定有問題了。

IFERROR 成功攔截 #NAME? 錯誤並顯示自訂提示

處理 VLOOKUP 參數值錯誤「#VALUE!」

在使用 VLOOKUP 函數尋找資料時,如果參數設定不正確,就會出現「#VALUE!」的參數值錯誤。例如,當你輸入的公式中,第一個參數(查詢值)的範圍大於第二個參數(查詢範圍)的列數時,就會觸發這個錯誤。

遇到這種情況,我們可以透過 IFERROR 來包裝原本的 VLOOKUP 公式,查錯公式如下:

=IFERROR(VLOOKUP(C2:E9,C2:C9,1,0),"參數錯誤")

透過這個方式,當參數值發生錯誤時,儲存格就會顯示我們指定的錯誤提示,方便後續檢查與修正。

VLOOKUP 參數設定錯誤導致 #VALUE! 並用 IFERROR 捕捉

解決 VLOOKUP 找不到資料的無效值「#N/A」

在使用 VLOOKUP 查詢資料時,另一個常見的錯誤是找不到對應的資料。假設我們要查 A2:A9(口味)這一欄,但清單內容並沒有「楊桃」。如果公式硬要找「楊桃」,就會出現「#N/A」的無效值錯誤。

我們可以利用 IFERROR 來處理這個找不到資料的狀況,公式如下:

=IFERROR(VLOOKUP("楊桃",A2:A9,1,0),"無效值")

因為範圍內沒有楊桃,所以會觸發錯誤並顯示我們設定的「無效值」。但如果你將公式裡的「楊桃」改成「西瓜」,因為搜尋範圍中確實有西瓜,公式計算正確,就會正常顯示正確值「西瓜」。

VLOOKUP 找不到資料出現 #N/A 時用 IFERROR 顯示無效值
更多 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 月更新:補充步驟說明與常見問題)

這篇收錄在「Excel 教學總整理」,同一主題的其他教學都依小主題整理在那裡。