嘿,第七篇文章我們來解決一個超多人遇到的問題——VLOOKUP 出現 #N/A!
明明公式看起來沒錯,但就是抓不到資料,出現惱人的 #N/A 錯誤,讓整張報表看起來雜亂不美觀。
今天不只教你為什麼會這樣,還教你用 IF 和 IFNA 把錯誤值變乾淨!
💡 如果你還不會 VLOOKUP 的基本用法,建議先閱讀VLOOKUP 從零開始這篇教學。
先看一個台灣企業真實案例
假設你在台北一間公司負責人事與業績報表,有兩張試算表:
員工基本資料(Sheet1):
| A欄 (員工編號) | B欄 (姓名) |
|---|---|
| A001 | 王小明 |
| A002 | 李小華 |
| A003 | 張美美 |
業績記錄表(Sheet2):
| A欄 (員工編號) | B欄 (業績) | C欄 (姓名) |
|---|---|---|
| A001 | 50,000 | =VLOOKUP(A2, Sheet1!A:B, 2, 0) |
| A002 | 45,000 | =VLOOKUP(A3, Sheet1!A:B, 2, 0) |
| A003 | 60,000 | =VLOOKUP(A4, Sheet1!A:B, 2, 0) |
| A004 | 55,000 | =VLOOKUP(A5, Sheet1!A:B, 2, 0) |
看到 A004 這一行了嗎?因為員工基本資料沒有這筆資料,所以 C5 就會出現醜醜的 #N/A!

△ 圖1:VLOOKUP 抓不到資料時會出現 #N/A
為什麼會出現 #N/A?台灣常見原因
#N/A 代表「找不到比對資料」。在台灣職場最常見原因:
- 🔍 真的無此資料(離職人員、新進人員未建檔)
- 🔍 前後有隱藏空格(複製貼上最容易發生)
- 🔍 全形半形不一致(全形數字 vs 半形數字)
- 🔍 儲存格格式不同(一個文字、一個數字)
微軟官方有詳細的 #N/A 錯誤說明 [微軟:如何修正 #N/A 錯誤]。
方法一:用 IF + ISNA 把 #N/A 隱藏

△ 圖2:用 IF + ISNA 把 #N/A 變成「查無資料」
用 IF 搭配 ISNA,判斷 VLOOKUP 是否回傳 #N/A:
=IF(ISNA(VLOOKUP(A5, Sheet1!A:B, 2, 0)), "查無資料", VLOOKUP(A5, Sheet1!A:B, 2, 0))
公式意義:
- 如果 VLOOKUP 結果是 #N/A → 顯示「查無資料」
- 否則 → 正常顯示查到的姓名
修改後報表:
| A欄 (員工編號) | B欄 (業績) | C欄 (姓名) |
|---|---|---|
| A001 | 50,000 | 王小明 |
| A002 | 45,000 | 李小華 |
| A003 | 60,000 | 張美美 |
| A004 | 55,000 | 查無資料 |
想了解更多 IF 函數應用,可參考IF 函數入門。
方法二:用 IFNA 更簡潔(Excel 2013 以上適用)
如果你使用的是較新版 Excel,直接用 IFNA 最簡單:
=IFNA(VLOOKUP(A5, Sheet1!A:B, 2, 0), "查無資料")
IFNA 只針對 #N/A 做處理,其他錯誤(#VALUE!、#REF!)不會覆蓋,比較安全。
微軟官方 IFNA 函數教學:[微軟:IFNA 函數]。
方法三:清除隱藏空格(台灣報表超實用)
台灣公司匯入的資料常常有「看不見的前後空格」,導致 VLOOKUP 比對失敗。
用 TRIM 清除一般空格:
=VLOOKUP(TRIM(A5), Sheet1!A:B, 2, 0)
若有特殊隱藏字元,再加 CLEAN:
=VLOOKUP(CLEAN(TRIM(A5)), Sheet1!A:B, 2, 0)
快問快答:台灣使用者常見問題
- 😕 為什麼我 TRIM 了還是 #N/A?
多半是全形半形問題。全形數字在 Excel 會被視為文字,和半形數字無法比對。 - 🤔 ISNA 與 IFNA 該用哪一個?
新版 Excel 優先使用 IFNA,語法更簡潔;需要相容舊版時才用 IF+ISNA。 - 😫 想一次處理所有錯誤怎麼做?
可用 IFERROR 涵蓋 #N/A、#VALUE!、#REF! 等所有錯誤:=IFERROR(VLOOKUP(...), "查無資料")
台灣實務練習:商品售價查詢
模擬超商或經銷商商品報表,練習處理 #N/A:
商品售價表:
| 產品代碼 | 售價 |
|---|---|
| P001 | 100 |
| P002 | 200 |
| P003 | 150 |
訂單記錄表:
| 產品代碼 | 數量 | 單價 |
|---|---|---|
| P001 | 5 | |
| P002 | 3 | |
| P004 | 2 |
練習目標:
- 用 VLOOKUP 抓取單價(P004 會出現 #N/A)
- 用 IFNA 將 #N/A 顯示為「已停產」
正確公式:
=IFNA(VLOOKUP(A2, 產品售價表!A:B, 2, 0), "已停產")
下一篇預告:兩個表格比對找出差異
學會處理 VLOOKUP 錯誤後,下一篇我們實戰更實用的技巧:兩個表格比對找出差異!
📚 延伸閱讀
- 👉 VLOOKUP 從零開始
- 👉 IF 函數入門
- 👉 絕對參照 vs 相對參照
💡 學 Excel 真的不難,來這裡,學就好。―― 小就
