ISERROR 函數的作用是判斷指定的值或公式是否產生錯誤。只要遇到 #N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME? 或 #NULL! 任何一種錯誤,就會回傳 TRUE。
Excel ISERROR 函數語法
=ISERROR(值)| 參數 | 必填 | 說明 |
|---|---|---|
| 值 | 是 | 要檢查的資料、儲存格參照或公式計算結果。 |
回傳:邏輯值(TRUE 或 FALSE)。
適用版本:Excel 2010 以上版本及 Microsoft 365 均適用。
ISERROR 函數範例
範例 1:檢查除以零的錯誤
計算業績達成率時,檢查目標業績為 0 造成的錯誤。
| 業務姓名 | 實際業績 | 目標業績 |
|---|---|---|
| 王小明 | 50000 | 100000 |
| 陳怡君 | 30000 | 0 |
在 D3 輸入公式:
=ISERROR(B3/C3)結果:TRUE。陳怡君的目標業績為 0,實際業績除以 0 會產生 #DIV/0! 錯誤,因此 ISERROR 函數判斷為錯誤,回傳 TRUE。
範例 2:搭配 IF 函數處理查無資料
當 VLOOKUP 找不到庫存資料時,顯示自訂的提示文字。
| 商品代碼 | 庫存量 | 查詢代碼 |
|---|---|---|
| A01 | 50 | A03 |
| A02 | 20 |
在 D2 輸入公式:
=IF(ISERROR(VLOOKUP(C2, A2:B3, 2, FALSE)), "無此商品", VLOOKUP(C2, A2:B3, 2, FALSE))結果:無此商品。VLOOKUP 在範圍內找不到商品代碼 A03,產生 #N/A 錯誤。ISERROR 偵測到錯誤回傳 TRUE,讓 IF 函數輸出「無此商品」。
範例 3:檢查正常計算結果
檢查員工出勤時數相加是否為正常數值。
| 員工姓名 | 上班時數 | 加班時數 |
|---|---|---|
| 王小明 | 8 | 2 |
| 陳怡君 | 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 函數字典」。




