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

Excel ISERROR 函數用法教學:檢查公式計算結果是否為錯誤值

ISERROR 函數的作用是判斷指定的值或公式是否產生錯誤。只要遇到 #N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME? 或 #NULL! 任何一種錯誤,就會回傳 TRUE。

Excel ISERROR 函數語法

=ISERROR(值)
參數必填說明
值是要檢查的資料、儲存格參照或公式計算結果。

回傳:邏輯值(TRUE 或 FALSE)。

適用版本:Excel 2010 以上版本及 Microsoft 365 均適用。

ISERROR 函數範例

範例 1:檢查除以零的錯誤

計算業績達成率時,檢查目標業績為 0 造成的錯誤。

業務姓名實際業績目標業績
王小明50000100000
陳怡君300000

在 D3 輸入公式:

=ISERROR(B3/C3)

結果:TRUE。陳怡君的目標業績為 0,實際業績除以 0 會產生 #DIV/0! 錯誤,因此 ISERROR 函數判斷為錯誤,回傳 TRUE。

範例 2:搭配 IF 函數處理查無資料

當 VLOOKUP 找不到庫存資料時,顯示自訂的提示文字。

商品代碼庫存量查詢代碼
A0150A03
A0220

在 D2 輸入公式:

=IF(ISERROR(VLOOKUP(C2, A2:B3, 2, FALSE)), "無此商品", VLOOKUP(C2, A2:B3, 2, FALSE))

結果:無此商品。VLOOKUP 在範圍內找不到商品代碼 A03,產生 #N/A 錯誤。ISERROR 偵測到錯誤回傳 TRUE,讓 IF 函數輸出「無此商品」。

範例 3:檢查正常計算結果

檢查員工出勤時數相加是否為正常數值。

員工姓名上班時數加班時數
王小明82
陳怡君8未打卡

在 D2 輸入公式:

=ISERROR(B2+C2)

結果:FALSE。王小明的上班時數與加班時數皆為數字,相加結果為 10,屬於正常的數值計算,並未產生錯誤,因此 ISERROR 回傳 FALSE。

使用 ISERROR 的技巧與注意事項

  • ISERROR 會捕捉所有 7 種類型的錯誤。如果只想捕捉 #N/A 以外的錯誤,可以改用 ISERR 函數。
  • 若要在發生錯誤時直接回傳指定數值或空白,建議優先使用 IFERROR 函數,公式會更簡潔易讀。
  • 搭配條件式格式設定時,可利用 ISERROR 標記出工作表中有錯誤值的儲存格,方便進行資料清理。

ISERROR 常見錯誤與解決方法

錯誤原因解決方法
只顯示 TRUE 或 FALSE,沒有出現預期的結果直接使用 ISERROR 包裝公式,未結合 IF 函數進行條件判斷。若要在錯誤時顯示特定內容,需改用 IFERROR 函數,或使用 =IF(ISERROR(公式), "錯誤提示", 公式)。
儲存格有錯誤代碼,但 ISERROR 回傳 FALSE儲存格內輸入的是純文字的錯誤代碼(例如前面加了單引號的 '#N/A),而非公式產生的錯誤。ISERROR 只能判斷系統產生的錯誤值。需確認儲存格內容是實際的公式計算結果,而非手動輸入的文字。

Google 試算表可以用 ISERROR 嗎?

Google 試算表完全支援 ISERROR 函數,用法與 Excel 一致,沒有功能上的差異。

下載 ISERROR 範例檔

上面的範例都整理在這個檔案裡,每個範例一個工作表,黃色格子是公式,可以直接改資料看結果變化:ISERROR 範例.xlsx(範例公式都在試算表軟體實際計算過)。

常見問題

ISERROR 和 IFERROR 有什麼不同?

ISERROR 只負責判斷是否為錯誤值,回傳 TRUE 或 FALSE;IFERROR 則是當公式發生錯誤時,直接回傳你指定的內容。一般情況下使用 IFERROR 會讓公式更簡短。

為什麼儲存格顯示 #N/A,但 ISERROR 卻回傳 FALSE?

這通常是因為該儲存格的 #N/A 是手動輸入的純文字,而非公式計算產生的錯誤值。ISERROR 只會將系統定義的錯誤值判定為 TRUE。

ISERROR 可以只針對 #N/A 錯誤進行判斷嗎?

不行,ISERROR 會捕捉所有 7 種 Excel 錯誤值。如果只想針對找不到資料的 #N/A 錯誤進行判斷,請改用 ISNA 函數。

相關函數

這篇收錄在「Excel 函數字典」。