faqs.tw 台灣生活常見問題

Excel 函數錯誤?2026 #N/A #REF 怎麼排除

「公式儲存格出現 #N/A、#REF、#VALUE 這些奇怪的東西,是壞了嗎?怎麼修?」——這些是「錯誤代碼」,它們是線索、不是壞事——每個代碼告訴你「哪裡出了什麼問題」。看懂它,就知道怎麼修。

看到紅字錯誤代碼別慌。Excel 用不同代碼告訴你不同的問題,像醫生看症狀。學會看懂常見的幾個,排錯就快了。

這篇講常見錯誤代碼:各代碼的意思、怎麼排除、以及用 IFERROR 處理,並提醒錯誤代碼是線索,幫你看懂並修正公式。

本文為一般說明;各版本與 Google 試算表的錯誤代碼大致相同,實際以你使用的版本為準。

常見錯誤代碼的意思

先認識幾個常見代碼:

代碼 大致意思
#N/A 找不到(查找類常見)
#REF! 參照失效(格子被刪了)
#VALUE! 型別不對(文字當數字算)
#DIV/0! 除以零
#NAME? 名稱/函數名打錯

先認識常見的錯誤代碼。#N/A——「找不到」,VLOOKUP 等查找函數找不到值時最常見(見 VLOOKUP 那篇)。#REF!——「參照失效」,通常是公式參照的儲存格被刪掉了。

#VALUE!——「型別不對」,常是把文字當數字算、或參數放錯。#DIV/0!——「除以零」,分母是 0 或空白。#NAME?——「名稱錯誤」,函數名打錯、或用了不認得的名稱。每個代碼指向不同問題,認得它們,就知道往哪個方向查。

核心是「常見錯誤代碼——#N/A 找不到、#REF! 參照失效、#VALUE! 型別不對、#DIV/0! 除以零、#NAME? 名稱錯」。每個代碼指向不同問題,認得它們就知道方向。

怎麼排除

對應代碼找原因:

對應代碼找原因、排除。#N/A——查找的值不完全相符(空格、格式不同、真的沒這筆),清理資料、確認值一致(見 VLOOKUP 那篇)。

#REF!——公式參照的格子被刪了,找回來或重寫公式(刪欄列前要注意有沒有公式在參照)。#VALUE!——多半是文字被當數字算,檢查資料是不是有非數字混進來(見格式那篇)。#DIV/0!——分母是 0 或空白,用 IF 或 IFERROR 處理「分母為零」的情況。對症下藥,錯誤就排掉了。

核心是「怎麼排除——#N/A 清理資料確認值、#REF! 找回參照、#VALUE! 查文字當數字、#DIV/0! 處理分母為零」。對應代碼找原因、對症下藥,錯誤就能排除。

用 IFERROR 處理錯誤

讓錯誤顯示得友善:

做法 效果
IFERROR 出錯時顯示指定的內容
用途 把 #N/A 改顯示「查無資料」
注意 別用它蓋掉該修的錯

有時錯誤是「預期內」的(如查無資料),可以用 IFERROR 讓它顯示得友善。IFERROR——包住公式,當公式出錯時,顯示你指定的內容(如空白、「查無資料」、0)。

用途——把 VLOOKUP 的 #N/A 改成顯示「查無資料」,報表更好看。注意——別濫用 IFERROR 把「該修的錯」也蓋掉了。如果是公式寫錯、資料有問題,該修的還是要修,別用 IFERROR 把它藏起來裝沒事(見逆向觀點)。IFERROR 是「美化預期內的錯誤」,不是「掩蓋真正的錯」。

核心是「用 IFERROR 處理——出錯顯示指定內容、把 #N/A 改友善文字、別用它蓋掉該修的錯」。IFERROR 美化預期內的錯誤,但別拿來掩蓋真正該修的問題。

預防錯誤

減少錯誤的習慣:

減少錯誤的好習慣。資料先整理乾淨——格式一致、去掉多餘空格,能避免很多 #N/A、#VALUE(見資料整理那篇)。

刪欄列前確認——刪之前看看有沒有公式在參照它,避免 #REF!。參照鎖對——該固定的用絕對參照,避免複製時參照跑掉出錯(見參照那篇)。一步步檢查——複雜公式拆開、用中間欄位驗證,比較好找出哪步出錯。預防勝於除錯,把資料和參照顧好,錯誤自然少。

核心是「預防錯誤——資料先整理乾淨、刪欄列前確認、參照鎖對、一步步檢查」。整理資料、小心刪除、鎖對參照、拆開驗證,預防勝於除錯。

逆向觀點:別一看到錯誤代碼就慌著把公式刪掉、或用 IFERROR 把它藏起來裝沒事——錯誤代碼是在告訴你「哪裡有問題」,看懂它、修好根源,比蓋掉它重要;把錯誤藏起來,錯的資料還在,只是你看不到了

看到儲存格冒出 #N/A、#REF! 這些紅字,很多人的反應是慌張——要嘛乾脆把公式刪掉重來,要嘛趕快用 IFERROR 包起來讓它顯示空白,眼不見為淨。

這兩種反應都沒有真正解決問題。錯誤代碼不是來找你麻煩的,它是在「告訴你哪裡出了什麼問題」——#N/A 說「找不到」、#REF! 說「參照被刪了」、#VALUE! 說「型別不對」。它其實在幫你定位問題。刪掉公式,你失去了原本要的計算;用 IFERROR 蓋掉,錯誤的根源(資料對不上、參照壞了)還在,只是你看不到了——報表看起來乾淨,數字卻可能是錯的。

關鍵在認清:錯誤代碼是「線索」,該做的是「看懂它、找出根源、修好」,而不是「讓它消失」。#N/A 就去清資料、確認值;#REF! 就修參照;#DIV/0! 就處理分母。修好根源,你得到的是「正確的結果」;蓋掉它,你得到的是「看起來沒錯、其實有錯」的報表——後者更危險,因為錯了你都不知道。

想想蓋掉錯誤的問題。一、根源還在——資料、參照的問題沒解決。二、錯的資料藏起來——看不到不代表沒錯。三、報表數字可能錯——比明顯報錯更危險。四、失去除錯線索——蓋掉就不知哪裡錯。

真正該做的,是把錯誤代碼當成除錯線索:看懂它指的問題、找到根源、修正。真的是「預期內、無妨」的錯誤(如查無資料本來就空),再用 IFERROR 美化顯示。先修根源,再談美化。

所以,別一看到錯誤代碼就慌著刪公式、或用 IFERROR 藏起來裝沒事了——錯誤代碼在告訴你哪裡有問題。看懂它、修好根源,比蓋掉它重要。把錯誤藏起來,錯的資料還在,只是你看不到了。

常見問題

Q:#N/A 和 #REF! 差在哪? #N/A 是「找不到值」(查找類常見)、#REF! 是「參照失效」(格子被刪了)——不同問題不同修法:一、#N/A 是找不到——查找函數找不到對應值(見錯誤代碼段)。二、#REF! 是參照失效——公式參照的儲存格被刪掉了。三、修法不同——#N/A 清資料確認值、#REF! 找回或重寫參照(見排除段)。四、#N/A 多在 VLOOKUP——查找對不到時(見 VLOOKUP 那篇)。五、#REF! 常因刪欄列——刪掉了公式在用的格子。六、看代碼判斷方向——代碼告訴你問題類型。七、對症處理——別一律刪公式。所以「#N/A 是找不到值、#REF! 是參照失效」,不同問題不同修法,#N/A 清資料、#REF! 修參照,看代碼判斷方向、對症處理。

Q:公式出現 #VALUE! 通常是什麼原因? 多半是「型別不對」——把文字當數字算,或參數放錯:一、型別不對——常是文字混進了要算數字的地方(見錯誤代碼段)。二、數字被存成文字——看起來是數字卻是文字,算起來出錯(見格式那篇)。三、參數放錯——函數的參數位置、型別不對。四、有非數字字元——如金額欄混了文字、符號。五、檢查資料——看範圍裡有沒有非數字的東西。六、清理或轉型別——把文字轉成數字。七、拆開檢查——複雜公式拆步驟找出哪裡出錯。所以 #VALUE!「多半是型別不對」,文字當數字算或參數放錯,檢查資料有沒有非數字、把文字轉數字、拆開檢查,找出哪裡型別不對。

Q:IFERROR 是不是可以把所有錯誤都解決? 不是——IFERROR 只是「出錯時顯示別的內容」,它不修正根源,濫用會把該修的錯藏起來:一、只是改顯示——出錯時顯示你指定的內容,不修根源(見 IFERROR 段)。二、適合預期內的錯——如查無資料本來就該空白。三、別濫用——把公式寫錯、資料問題也蓋掉,錯還在(見逆向觀點)。四、根源要修——該修的錯先修好,再談美化。五、藏起來更危險——報表看似沒錯、數字卻錯。六、先看懂錯誤——用代碼找根源。七、修完再美化——先正確、再好看。所以 IFERROR「不能解決所有錯誤」,它只改顯示不修根源,適合預期內的錯、別濫用蓋掉該修的、先修根源再美化,藏起來的錯更危險。

Q:整份表格很多錯誤,從哪開始修? 先找「源頭」的錯誤修——很多錯誤是連鎖的,修好源頭其他常跟著好:一、找源頭——一個錯的格子被很多公式參照,會連鎖出錯。二、修源頭其他跟著好——把最上游的問題修掉,下游常自動正常。三、看錯誤類型分類——#N/A、#REF!、#VALUE! 分別是不同問題(見錯誤代碼段)。四、資料問題先處理——格式、空格、型別先清乾淨(見資料整理那篇)。五、一個一個來——別急,逐個定位。六、用追蹤功能——有追蹤參照的功能可看關係。七、別用 IFERROR 全蓋——先修根源(見逆向觀點)。所以整份很多錯誤「先找源頭的錯誤修」,錯誤常連鎖、修好源頭其他跟著好,按類型分類、先清資料問題、一個一個來,別用 IFERROR 全蓋掉。

資料來源

本文為一般說明;各版本與 Google 試算表的錯誤代碼大致相同,實際以你使用的版本為準。

延伸閱讀

分享:

📖 延伸閱讀