【VLOOKUP #N/A】6大原因診斷與修正教學|含IFERROR實用公式

讀完這篇你能在 30 秒內診斷 VLOOKUP #N/A 錯誤屬於哪種類型,並用對應的公式與操作步驟徹底修正,同時建立預防機制避免再次發生。
Excel 進階工具推薦
⭐ 編輯首選
超越 Excel 的團隊數據管理平台
  • 表格視圖——像 Excel 操作,支援多人即時協作
  • 自動化——取代手動複製貼上,規則觸發自動更新
  • 儀表板——即時圖表分析,不用手動做樞紐分析
  • 200+ 範本——進度追蹤、數據報表直接套用
9.5 / 10 本站評分
250,000+ 團隊信賴 · 無需信用卡
免費開始使用 免費方案永久使用,隨時升級
表格 + 看板 + 文件,一個平台搞定
免費試用
資料庫 × 公式 × 協作,靈活取代試算表
免費試用

VLOOKUP #N/A 錯誤代表查找值無法在資料範圍中找到匹配結果(Not Available),是 Excel 查找函數最常見的錯誤類型。 本文完整解析 6 大 #N/A 原因與診斷方法,教你用 IFERROR、IFNA 讓錯誤不顯示,並附人資薪資查找的實務修正案例與預防 SOP。

目錄

VLOOKUP #N/A 錯誤是什麼?30 秒快速診斷

當 VLOOKUP 回傳 #N/A,代表函數在你指定的資料範圍中「找不到」查找值。這不是公式語法錯誤,而是「查找失敗」——可能是資料本身有問題,也可能是公式設定不正確。

在開始逐一排查之前,先用下面這張快速診斷表,30 秒內判斷你的問題屬於哪一類:

你看到的症狀 最可能的原因 對應章節
肉眼看起來一模一樣,卻回傳 #N/A 數字與文字型態不符,或含隱藏空格 原因二、原因三
部分資料找得到、部分找不到 資料不一致、重複值、或個別儲存格格式不同 原因二、原因六
全部都回傳 #N/A,沒有一筆成功 表範圍設定錯誤、查找欄不在第一欄 原因四
以前可以正常查找,現在突然不行 資料來源格式變更(如系統匯出格式改變) 原因三、原因五
大部分正確,但數值結果看起來怪怪的 range_lookup 設為 TRUE 或省略,近似查找出錯 原因五

本文的結構是:診斷原因 → 修正公式 → 實務案例 → 預防機制,你可以根據上表直接跳到對應段落。如果你對 VLOOKUP 語法 還不太熟悉,建議先看下一節的快速回顧。

VLOOKUP #N/A 快速診斷流程:肉眼一樣卻找不到→檢查型態與空格;全部找不到→檢查表範圍;部分找不到→檢查資料一致性;以前可以現在不行→檢查資料來源格式
▲ VLOOKUP #N/A 快速診斷流程:肉眼一樣卻找不到→檢查型態與空格;全部找不到→檢查表範圍;部分找不到→檢查資料一致性;以前可以現在不行→檢查資料來源格式

VLOOKUP 語法快速回顧(含常見誤用)

VLOOKUP 的完整語法如下:

=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])

四個參數的作用:

  • lookup_value(查找值):你要找的目標值,例如員工編號「A001」或產品代碼「P-001」
  • table_array(資料範圍):包含查找資料的表格範圍,查找值必須在這個範圍的第一欄
  • col_index_num(欄位序號):要回傳第幾欄的資料,從 table_array 的第一欄算起(第一欄 = 1)
  • range_lookup(查找模式):FALSE = 精確查找,TRUE = 近似查找(可省略,省略時預設為 TRUE)

這四個參數中,有兩個設定方式特別容易導致 #N/A 錯誤,很多人用了好幾年 VLOOKUP 都沒注意到:

⚠️ 誤用一:range_lookup 省略不寫 很多人寫 =VLOOKUP(A1, B:D, 2) 就結束了,省略第四個參數。但省略等於 TRUE(近似查找),這時 Excel 會假設你的資料已經按升冪排序——如果沒排序,結果可能是錯的,甚至直接回傳 #N/A。建議:99% 的情況都應該明確寫 FALSE。

⚠️ 誤用二:col_index_num 寫死數字 例如寫 col_index_num=3,當你在 table_array 中間插入一欄後,原本第 3 欄的資料變成第 4 欄,但公式還是抓第 3 欄——不會報 #N/A,但會回傳錯誤的資料,比 #N/A 更危險。

如果你想更深入了解 VLOOKUP 的進階用法,可以參考 VLOOKUP 完整語法教學。接下來我們進入 #N/A 的六大原因逐一拆解。

VLOOKUP 四大參數:lookup_value 查找值、table_array 資料範圍、col_index_num 欄位序號、range_lookup 查找模式(FALSE精確/TRUE近似)
▲ VLOOKUP 四大參數:lookup_value 查找值、table_array 資料範圍、col_index_num 欄位序號、range_lookup 查找模式(FALSE精確/TRUE近似)

六大 #N/A 原因完整解析(含診斷方法)

以下六個原因涵蓋了 VLOOKUP 回傳 #N/A 的所有常見情境。每個原因我都會提供診斷方法(怎麼確認是不是這個問題)和修正方向(怎麼解決),讓你不只知道「為什麼錯」,還能立刻動手修。

原因一:查找值不存在於資料範圍

這是最直覺的原因——你要找的值,在資料表裡根本沒有。

常見情境:

  • 員工已離職,但查找表還在用舊編號
  • 新增的產品代碼還沒被加入主資料表
  • 查找值有拼寫錯誤(例如「A001」打成「A0O1」,數字 0 和字母 O 混淆)

診斷方法: 用 COUNTIF 確認查找值在資料範圍中出現幾次:

=COUNTIF(B:B, A1)

如果結果為 0,代表查找值確實不存在。這時候不是公式的問題,而是資料本身需要補齊。

修正方向:

  • 確認資料來源是否完整,是否有遺漏的記錄
  • 如果確實有部分值不存在(例如新進員工),用 IFNA 包裝公式顯示提示文字(詳見第四章)

原因二:數字與文字型態不符(最常見)

這是我在實務中遇到最多的 #N/A 原因。兩個儲存格看起來都是「1001」,但一個是數字、一個是文字,VLOOKUP 會認為它們不一樣。

怎麼判斷儲存格是數字還是文字?

  • 靠右對齊 = 數字(Excel 預設數字靠右)
  • 靠左對齊 = 文字(Excel 預設文字靠左)
  • 更精確的方法:用 =ISNUMBER(A1) 驗證,回傳 TRUE 代表數字,FALSE 代表文字

診斷方法: 同時檢查查找值和資料表中的對應欄位:

=ISNUMBER(A1)    ← 檢查查找值
=ISNUMBER(B2)    ← 檢查資料表第一欄

如果一個是 TRUE、一個是 FALSE,就是型態不符。

修正公式(3 步驟完整流程):

以客戶編號為例,假設 A 欄的查找值是文字「1001」,B 欄資料表中是數字 1001:

步驟一: 確認哪邊是文字、哪邊是數字

=ISNUMBER(A1)  → FALSE(文字)
=ISNUMBER(B2)  → TRUE(數字)

步驟二: 用 VALUE() 將文字轉為數字(或用 TEXT() 將數字轉為文字)

=VLOOKUP(VALUE(A1), B:D, 2, FALSE)

步驟三: 如果整欄都需要轉換,使用「資料 → 資料剖析」功能批次轉換: 1. 選取整欄文字型數字 2. 點選「資料」→「資料剖析」 3. 直接按「完成」,Excel 會自動將文字型數字轉為真正的數字

這個「資料剖析」技巧比逐一用 VALUE() 轉換快得多,處理上千筆資料只需要 3 秒。

原因三:隱藏空格與不可見字元

從 ERP 系統、網頁或其他資料庫複製貼上的資料,經常會帶入肉眼看不見的空格或特殊字元。這是「明明看起來一樣卻找不到」的第二大元凶。

常見來源:

  • 系統匯出的 CSV 檔案,欄位前後帶空格
  • 從網頁複製貼上,帶入不可見的換行字元(如 CHAR(160) 不斷行空格)
  • 資料輸入時不小心多按了空白鍵

診斷方法:

用 LEN() 比對字元數:

=LEN(A1)    ← 查找值的字元數
=LEN(B2)    ← 資料表中看起來相同的值的字元數

如果兩個數字不一樣(例如一個是 5、一個是 7),代表有隱藏字元。

更進一步,用 CODE() 找出隱藏字元是什麼:

=CODE(LEFT(A1,1))    ← 檢查第一個字元的 ASCII 碼
=CODE(RIGHT(A1,1))   ← 檢查最後一個字元的 ASCII 碼

空格的 ASCII 碼是 32,不斷行空格是 160。如果看到這些數字出現在不該出現的位置,就是問題所在。

修正公式(批次清理整欄的完整步驟):

以產品代碼含空格為例:

步驟一: 在空白欄(例如 D 欄)輸入清理公式:

=TRIM(CLEAN(A1))
  • CLEAN() 移除不可列印字元(ASCII 0-31)
  • TRIM() 移除前後空格,並將中間的多餘空格縮減為一個

步驟二: 將公式往下拖曳,覆蓋所有資料列

步驟三: 選取 D 欄的清理結果,按 Ctrl+C 複製

步驟四: 選取 A 欄原始資料,按 Ctrl+Shift+V(或右鍵 →「選擇性貼上」→「值」),用清理後的值覆蓋原始資料

步驟五: 刪除 D 欄的輔助欄

💡 進階技巧: 如果 TRIM+CLEAN 還是無法解決(例如含有 CHAR(160) 不斷行空格),用 SUBSTITUTE 替換: =TRIM(CLEAN(SUBSTITUTE(A1, CHAR(160), " ")))

如果你經常需要處理各種 Excel 公式 的錯誤,建議把這組清理公式存成常用範本。

原因四:表範圍(table_array)設定錯誤

這個原因通常導致全部都回傳 #N/A,而不是只有部分。

常見情境:

情境 A:查找值不在 table_array 的第一欄

=VLOOKUP(A1, C:E, 2, FALSE)

如果 A1 的查找值應該對應 B 欄,但 table_array 從 C 欄開始,VLOOKUP 會在 C 欄中找——當然找不到。

情境 B:範圍未鎖定,公式下拉後偏移

=VLOOKUP(A2, B2:D10, 2, FALSE)

當你把這個公式從第 2 列往下拖到第 5 列,table_array 會變成 B5:D13——範圍整個跑掉了。

診斷方法: 點選含有 VLOOKUP 的儲存格,在資料編輯列中點一下 table_array 參數,Excel 會用藍色框標示實際選取的範圍。確認: 1. 藍色框的第一欄是否包含你要查找的值 2. 藍色框是否涵蓋所有資料列

修正方法: 加上絕對參照($),鎖定範圍:

=VLOOKUP(A2, $B$2:$D$100, 2, FALSE)

這樣不管公式往下拖幾列,table_array 都不會跑掉。

原因五:range_lookup 設為 TRUE 或省略

前面語法回顧已經提過,這裡深入說明近似查找的運作邏輯,幫你理解為什麼會出錯。

近似查找(TRUE)的運作方式: 1. Excel 假設 table_array 第一欄已按升冪排序 2. 從上往下找到「小於或等於」查找值的最大值 3. 如果查找值小於第一欄的最小值,回傳 #N/A

舉例: 資料表第一欄是 [100, 200, 300],查找值是 50。因為 50 小於最小值 100,Excel 找不到任何「小於或等於 50」的值,所以回傳 #N/A。

診斷方法: 1. 檢查公式中 range_lookup 是否為 TRUE 或被省略 2. 檢查資料是否已按第一欄升冪排序

建議: 除非你明確需要近似查找(例如成績等第對照、稅率級距),否則一律設為 FALSE。這能避免 90% 以上因排序問題導致的 #N/A 或錯誤結果。

原因六:資料重複導致查找結果不穩定

嚴格來說,資料重複不一定會導致 #N/A,但會讓查找結果不可預測——VLOOKUP 永遠只回傳第一個符合的值。

常見情境:

  • 員工編號重複(同一編號對應不同人)
  • 產品代碼在不同批次中重複使用

診斷方法: 用 COUNTIF 標示重複值:

=COUNTIF(A:A, A1)>1

回傳 TRUE 的儲存格代表有重複。

修正方向:

  • 先去重:使用「資料 → 移除重複項」功能
  • 如果重複是合理的(例如同一客戶有多筆訂單),VLOOKUP 無法處理這種需求,建議改用 INDEX+MATCH 搭配條件,或使用 XLOOKUP(詳見進階替代方案章節)

想了解更多 Excel #N/A 錯誤 的排查方法,包括其他函數導致的 #N/A,可以參考我們的完整指南。

VLOOKUP #N/A 六大原因:查找值不存在、數字文字型態不符、隱藏空格與不可見字元、表範圍設定錯誤、range_lookup 設為 TRUE 或省略、資料重複導致結果不穩定
▲ VLOOKUP #N/A 六大原因:查找值不存在、數字文字型態不符、隱藏空格與不可見字元、表範圍設定錯誤、range_lookup 設為 TRUE 或省略、資料重複導致結果不穩定

讓 #N/A 不顯示錯誤:IFERROR、IFNA、ISNA 完整比較

確認並修正 #N/A 的根本原因後,有些情況下你仍然需要讓公式「優雅地」處理找不到的情況——例如查找值確實不存在於資料表中(新進員工、停產產品等)。這時候就需要用錯誤處理函數包裝 VLOOKUP。

Excel 提供三種處理 #N/A 的方式,它們的差異很重要:

函數 捕捉範圍 適用情境 風險
IFERROR 所有錯誤類型(#N/A、#REF!、#VALUE! 等) 快速包裝,不在意錯誤類型 可能掩蓋其他公式錯誤
IFNA #N/A 需區分「找不到」與「公式本身有錯」 無,推薦使用
IF+ISNA #N/A 需在同一公式中對 #N/A 和正常結果做不同處理 VLOOKUP 會執行兩次,效能較差

我的建議:優先使用 IFNA。 它只捕捉 #N/A,如果你的公式有其他錯誤(例如 #REF! 代表欄位序號超出範圍),IFNA 不會幫你藏起來,你還是能看到問題並修正。IFERROR 雖然方便,但容易把所有錯誤都吞掉,讓你以為一切正常。

VLOOKUP NA 顯示空白

最常見的需求——讓找不到的儲存格顯示空白而非紅色的 #N/A:

=IFNA(VLOOKUP(A1, B:D, 2, FALSE), "")

雙引號中間沒有任何字元,代表空字串。儲存格看起來會是空白的。

VLOOKUP NA 顯示 0

=IFNA(VLOOKUP(A1, B:D, 2, FALSE), 0)

⚠️ 注意: 顯示 0 會影響後續計算。如果你用 SUM 加總這一欄,0 不會造成問題;但如果你用 AVERAGE 計算平均值,這些 0 會被計入,拉低平均結果。如果不希望影響 AVERAGE,建議用空白(””)而非 0。

VLOOKUP NA 顯示自訂提示文字

=IFNA(VLOOKUP(A1, B:D, 2, FALSE), "查無資料,請確認編號")

這在實務中非常實用——當同事看到「查無資料」而非 #N/A,他們更容易理解問題出在哪裡,而不是來問你「這個紅色的東西是什麼」。

何時不應該隱藏 #N/A 錯誤

並非所有 #N/A 都應該被隱藏。如果 #N/A 代表資料缺漏(例如薪資表中某位員工的薪資找不到),隱藏錯誤可能讓你忽略嚴重問題——想像薪資結算時少算了一個人的薪水。

判斷框架:

  • ✅ 可以隱藏:查找值「本來就可能不存在」(例如查找新客戶是否為舊客戶)
  • ❌ 不應隱藏:查找值「應該要存在」(例如在職員工的薪資查找)
  • 折衷方案:用醒目的提示文字(如「⚠️ 資料缺漏」)取代隱藏,確保問題被看見

想了解更多 IF 函數條件判斷 的應用方式,包括巢狀 IF 和多條件判斷,可以參考我們的專文教學。

IFNA vs IFERROR 選擇指南:需要區分錯誤類型?是→用 IFNA(僅捕捉 #N/A);否→用 IFERROR(捕捉所有錯誤)。#N/A 代表資料缺漏?是→顯示警示文字;否→顯示空白或 0
▲ IFNA vs IFERROR 選擇指南:需要區分錯誤類型?是→用 IFNA(僅捕捉 #N/A);否→用 IFERROR(捕捉所有錯誤)。#N/A 代表資料缺漏?是→顯示警示文字;否→顯示空白或 0

實務案例:從出錯到修正的完整流程

前面講了六種原因和三種錯誤處理函數,現在用一個完整的實務情境把它們串起來。這個案例來自人資部門的常見場景,一次會遇到多種 #N/A 原因。

情境設定——人資部門的薪資查找表

人資部門有兩張表:

表 A(查找表): 本月在職員工名單,A 欄是員工編號,需要查找薪資和部門

表 B(資料表): 從 HR 系統匯出的完整員工資料,包含員工編號、姓名、部門、月薪

人資用 VLOOKUP 從表 B 查找每位員工的月薪:

=VLOOKUP(A2, 表B!A:D, 4, FALSE)

結果:200 筆員工中,有 47 筆回傳 #N/A。人資同事慌了——難道有 47 個人的薪資資料不見了?

第一關:型態不符(數字 vs 文字編號)

診斷: 先用 ISNUMBER 檢查兩邊的員工編號:

=ISNUMBER(A2)          → FALSE(表 A 的編號是文字)
=ISNUMBER(表B!A2)      → TRUE(表 B 的編號是數字)

原來表 A 是人資手動輸入的,員工編號被存成文字;表 B 是系統匯出的,編號是數字格式。

修正: 1. 選取表 A 的 A 欄(員工編號) 2. 點選「資料」→「資料剖析」→ 直接按「完成」 3. 文字型數字被轉為真正的數字

修正後,#N/A 從 47 筆降到 12 筆。35 筆是型態問題造成的。

第二關:系統匯出資料含隱藏空格

診斷: 剩下的 12 筆中,挑一筆來檢查:

=LEN(A5)          → 4(查找值「1005」是 4 個字元)
=LEN(表B!A10)     → 6(資料表中的「1005」竟然是 6 個字元!)

多出的 2 個字元是什麼?

=CODE(LEFT(表B!A10,1))    → 32(空格)
=CODE(RIGHT(表B!A10,1))   → 32(空格)

HR 系統匯出時,在編號前後各加了一個空格。

修正: 批次清理表 B 的員工編號欄: 1. 在表 B 的 E 欄輸入 =TRIM(CLEAN(A2)) 2. 往下拖曳覆蓋所有列 3. 選取 E 欄,Ctrl+C 複製 4. 選取 A 欄,Ctrl+Shift+V 選擇性貼上「值」 5. 刪除 E 欄

修正後,#N/A 從 12 筆降到 3 筆。

第三關:部分員工確實不在名單中

診斷: 最後 3 筆用 COUNTIF 確認:

=COUNTIF(表B!A:A, A8)    → 0

這 3 位是本月新到職的員工,HR 系統還沒建立他們的薪資資料。

修正: 這不是公式問題,而是資料尚未建立。用 IFNA 顯示有意義的提示:

=IFNA(VLOOKUP(A2, 表B!$A:$D, 4, FALSE), "新進員工,資料待建立")

為什麼用「新進員工,資料待建立」而不是空白或 0?因為薪資欄顯示空白,可能被誤認為「薪資為零」;顯示 0 更危險,可能被直接拿去計算。明確的提示文字讓後續處理的同事一眼就知道該怎麼做。

人資薪資查找修正流程:第一步 ISNUMBER 診斷型態→第二步 資料剖析轉換型態→第三步 LEN 診斷隱藏字元→第四步 TRIM CLEAN 批次清理→第五步 IFNA 處理確實不存在的值
▲ 人資薪資查找修正流程:第一步 ISNUMBER 診斷型態→第二步 資料剖析轉換型態→第三步 LEN 診斷隱藏字元→第四步 TRIM CLEAN 批次清理→第五步 IFNA 處理確實不存在的值
⭐ 66 萬+ 學員 · 4.9★ 評價 ⭐ 4.9 / 5

Excel Skills for Business|Macquarie University 認證

🎁 Coursera Plus 7 天免費試用——從基礎到進階完整 4 階段,6.3 萬+ 則評價、4.9★ 的 Coursera 最熱門 Excel 課程
  • 🏆 66 萬+ 學員選修——Coursera 平台上最熱門的 Excel 課程
  • 📊 4 階段完整學程——公式、樞紐分析、圖表、儀表板全涵蓋
  • 🎓 Macquarie University 認證——完成後可加入 LinkedIn 履歷
  • 🌍 多語字幕支援——自學節奏、隨時隨地學習

Coursera Plus 7 天免費試用 · 可隨時取消 · 完成後獲得正式證書

進階替代方案:INDEX+MATCH 與 XLOOKUP

VLOOKUP 雖然好用,但它有幾個結構性限制,在某些情境下會讓你不斷遇到問題。如果你發現自己經常需要「繞路」才能讓 VLOOKUP 正常運作,可能是時候考慮升級了。

什麼時候應該放棄 VLOOKUP?

  • 查找欄不在資料表的第一欄(VLOOKUP 只能從左到右查找)
  • 資料表經常插入或刪除欄位(col_index_num 寫死數字會失效)
  • 資料量超過數萬列,VLOOKUP 計算速度明顯變慢
  • 需要同時查找多個條件

INDEX+MATCH:VLOOKUP 的萬用替代

INDEX+MATCH 的組合可以完全取代 VLOOKUP,而且沒有「只能從左到右」的限制:

=INDEX(回傳範圍, MATCH(查找值, 查找範圍, 0))

對應到 VLOOKUP 的邏輯:

  • MATCH 負責「找到查找值在第幾列」(等同 VLOOKUP 的查找功能)
  • INDEX 負責「從指定範圍的第 N 列取值」(等同 VLOOKUP 的回傳功能)

實際範例: 用員工編號查找姓名

VLOOKUP 寫法:=VLOOKUP(A1, B:D, 2, FALSE)
INDEX+MATCH 寫法:=INDEX(C:C, MATCH(A1, B:B, 0))

INDEX+MATCH 的優勢是查找範圍和回傳範圍可以分開指定,不受欄位順序限制。想深入學習可以參考 INDEX MATCH 進階查找 教學。

XLOOKUP:最新也最強大的查找函數

XLOOKUP 是 Excel 365 和 Excel 2021 才有的新函數,設計上就是為了取代 VLOOKUP:

=XLOOKUP(查找值, 查找範圍, 回傳範圍, [找不到時的值], [匹配模式], [搜尋模式])

最大亮點: 第四個參數直接內建錯誤處理,不需要再外包 IFNA:

=XLOOKUP(A1, B:B, D:D, "查無資料")

這一行就等於 VLOOKUP + IFNA 的組合,更簡潔也更好讀。

三種函數怎麼選?

情境 建議函數 原因
簡單的左到右查找,使用 Excel 2016 以下版本 VLOOKUP 語法最簡單,相容性最好
需要向左查找,或欄位經常移動 INDEX+MATCH 不受欄位順序限制
使用 Excel 365 或 2021,需要最大彈性 XLOOKUP 內建錯誤處理,支援雙向查找

如果你的工作流程中需要大量使用 VBA 自動化查找,可以參考 VBA VLOOKUP 自動化 教學。

查找函數選擇指南:Excel 版本是 365 或 ?是→用 XLOOKUP;否→需要向左查找或欄位會移動?是→用 INDEX+MATCH;否→用 VLOOKUP
▲ 查找函數選擇指南:Excel 版本是 365 或 ?是→用 XLOOKUP;否→需要向左查找或欄位會移動?是→用 INDEX+MATCH;否→用 VLOOKUP

預防 #N/A 錯誤的資料管理 SOP

與其每次出錯再修,不如從源頭預防。以下是四個階段的具體操作規範,可以直接套用到你的日常工作中。

資料輸入階段:用驗證規則擋住錯誤

在資料輸入的源頭就設好規則,比事後修正省力一百倍:

  • 設定資料驗證(Data Validation): 限制欄位只能輸入特定格式。例如員工編號欄設定「整數,介於 1000 到 9999」,防止有人輸入文字型編號
  • 使用下拉選單: 對於部門名稱、產品類別等固定選項,用「資料驗證 → 清單」建立下拉選單,避免手動輸入造成的拼寫差異
  • 統一編碼規則: 在團隊中明確規定「員工編號一律用數字」「產品代碼格式為 XX-000」,並寫在共用文件中

資料匯入階段:匯入後先清理再使用

從外部系統匯入的資料,永遠不要直接拿來用

  1. 匯入後,先在輔助欄執行 =TRIM(CLEAN(A1)) 清理全欄
  2. =ISNUMBER(A1)=ISTEXT(A1) 批次驗證型態是否一致
  3. =LEN(A1) 抽查幾筆,確認字元數合理
  4. 確認無誤後,用清理結果覆蓋原始資料

公式設計階段:三個必備習慣

寫 VLOOKUP 時養成這三個習慣,能避免大部分問題:

  1. range_lookup 一律寫 FALSE——不要省略,不要碰運氣
  2. table_array 一律加絕對參照 $——防止公式下拉後範圍偏移
  3. 外層一律包 IFNA——即使你認為「不可能找不到」,也要包,因為資料會變

標準寫法:

=IFNA(VLOOKUP(A2, $B$2:$D$100, 3, FALSE), "查無資料")

定期維護:每月檢查一次資料品質

  • =COUNTIF(A:A, A1)>1 標示重複值,確認是否需要去重
  • 用條件格式標示所有 #N/A 儲存格,快速定位問題
  • 建立資料異動 log,記錄每次匯入或修改的時間與內容,方便追溯問題

資料剖析轉換型態約 10 秒,TRIM+CLEAN 批次清理約 30 秒,這兩個步驟能解決 80% 以上的 #N/A 問題。Excel 公式完整教學 中有 SUMIF、COUNTIF 等函數的同類型資料清理建議。

資料管理 SOP 四階段:輸入階段設定驗證規則→匯入階段 TRIM CLEAN 清理→公式階段 FALSE 絕對參照 IFNA→維護階段 COUNTIF 檢查重複
▲ 資料管理 SOP 四階段:輸入階段設定驗證規則→匯入階段 TRIM CLEAN 清理→公式階段 FALSE 絕對參照 IFNA→維護階段 COUNTIF 檢查重複

結論

回顧本文重點:

  • #N/A 代表「查找失敗」,不是公式語法錯誤,問題通常出在資料本身
  • 最常見的原因是數字與文字型態不符——用 ISNUMBER() 診斷,用 VALUE() 或資料剖析修正
  • 「看起來一樣卻找不到」 幾乎都是隱藏空格造成的——用 LEN() 診斷,用 TRIM(CLEAN()) 修正
  • 用 IFNA(而非 IFERROR)包裝公式,既能優雅處理找不到的情況,又不會掩蓋其他公式錯誤
  • 預防勝於治療:range_lookup 寫 FALSE、table_array 加 $、匯入資料先清理——三個習慣就能避免 90% 的 #N/A

如果你發現自己每天花大量時間在 Excel 中做資料查找、比對和清理,而且經常需要多人協作同一份資料,這可能代表你的需求已經超出 Excel 的最佳使用範圍。monday.com 的自動化資料整合功能可以讓跨部門的資料查找和同步自動完成——不需要寫 VLOOKUP,也不會有 #N/A 的問題。免費方案不需要信用卡,可以先建一個看板試試。

⭐ Fortune 500 有 60% 是客戶 ⭐ 4.8 / 5

monday.com|250,000+ 團隊的專案管理首選

🎁 免費版永久使用 + 14 天 Pro 試用——內建 200+ 專案範本,看板、甘特圖、時間軸 3 分鐘完成設定
  • 📋 看板、甘特圖、時間軸——同一專案 3 種視圖自由切換
  • ⚡ 200+ 自動化範本——截止提醒、任務指派、進度同步全自動
  • 👥 從 2 人到 200 人團隊都適用——10 分鐘上手
  • 🔗 整合 Gmail、Slack、Zoom 等常用工具——資訊不用到處找

免費版永久使用 · Fortune 500 有 60% 在用 · 不需信用卡

VLOOKUP #N/A 常見問題

VLOOKUP #N/A、#REF!、#VALUE! 有什麼不同?

這三種錯誤的意義完全不同,修正方向也不一樣:

  • #N/A:查找值在資料範圍中找不到。修正方向:檢查資料一致性、型態、空格
  • #REF!:參照無效,通常是 col_index_num 超出 table_array 的欄數(例如範圍只有 3 欄,卻寫 col_index_num=4),或者有人刪除了被參照的欄位。修正方向:檢查欄位序號和範圍
  • #VALUE!:參數型態錯誤,例如 col_index_num 寫成文字而非數字,或 lookup_value 是一個陣列而非單一值。修正方向:檢查每個參數的型態

如果你同時看到多種錯誤,建議先修 #REF! 和 #VALUE!(這些是公式本身的問題),再處理 #N/A(這是資料的問題)。

為什麼 VLOOKUP 肉眼看起來一樣卻找不到?

這是最讓人抓狂的情況,系統性的診斷流程如下:

  1. 檢查型態: =ISNUMBER(A1)=ISNUMBER(B2) 是否一致?如果一個 TRUE 一個 FALSE,就是型態問題
  2. 檢查字元數: =LEN(A1)=LEN(B2) 是否相同?如果不同,有隱藏字元
  3. 檢查大小寫: =EXACT(A1, B2) 回傳 FALSE 代表有大小寫差異(VLOOKUP 本身不區分大小寫,但如果你用的是其他函數就需要注意)
  4. 檢查隱藏字元: =CODE(LEFT(A1,1))=CODE(RIGHT(A1,1)) 看是否有空格(32)或不斷行空格(160)

按照這四步走一遍,99% 的「看起來一樣卻找不到」都能找到原因。

VLOOKUP #N/A 可以用 0 取代嗎?什麼時候不建議?

可以,用 =IFNA(VLOOKUP(A1, B:D, 2, FALSE), 0) 即可。但有兩種情況不建議用 0:

  1. 該欄位會被 AVERAGE 計算: 0 會被計入平均值,拉低結果。例如 10 個人的薪資中有 3 個是 #N/A,用 0 取代後平均薪資會被嚴重低估
  2. 0 本身是有意義的值: 例如庫存查找中,0 代表「庫存為零」,和「查無此產品」是完全不同的意思。用 0 取代 #N/A 會讓你分不清哪些是真的零庫存、哪些是查找失敗

這兩種情況建議用空白(””)或自訂提示文字取代。

VLOOKUP 能否多條件查找?

VLOOKUP 只支援單一查找值。多條件查找有兩種做法:

  1. 用 & 串接多個條件建立輔助欄: 例如在資料表和查找表各新增一欄,公式為 =A1&B1,將部門和員工編號串接成「行政部1001」,再用 VLOOKUP 查找這個串接值:
=VLOOKUP(A1&B1, 輔助欄範圍, 回傳欄數, FALSE)
  1. 改用 INDEX+MATCH 搭配陣列公式: 不需要輔助欄,直接在 MATCH 中用多條件比對:
=INDEX(D:D, MATCH(1, (A:A=條件1)*(B:B=條件2), 0))

這是陣列公式,在舊版 Excel 中需要按 Ctrl+Shift+Enter 確認。Excel 365 則可以直接按 Enter。

  1. 使用 XLOOKUP: XLOOKUP 本身也不直接支援多條件,但可以用類似的串接方式,或搭配 FILTER 函數實現更靈活的多條件查找。

當 VLOOKUP 不夠用時:資料協作工具的升級時機

如果你在 Excel 中遇到以下三種情境,代表你的需求可能已經超出 VLOOKUP 和 Excel 的最佳使用範圍:

  1. 資料超過 5 萬列,VLOOKUP 計算明顯變慢——每次按 Enter 都要等好幾秒,整個工作表變得遲鈍
  2. 需要 3 人以上同時編輯同一份資料——Excel 的共用活頁簿功能經常造成版本衝突,有人的修改會被覆蓋
  3. 資料來源每日自動更新,需要自動同步查找結果——你每天早上都要手動重新匯入資料、重新跑 VLOOKUP,這個流程本身就是浪費時間

這些情境下,專案管理與資料協作平台能從根本上解決問題:

monday.com——我們團隊實際使用的工具。它的自動化功能可以設定「當 A 表新增一筆資料時,自動在 B 表中建立對應記錄」,等於用自動化取代了 VLOOKUP 的查找邏輯。跨部門的資料整合不再需要手動比對,NT$288/人/月起,免費方案支援 2 人使用,不需要信用卡。

ClickUp——適合技術導向的團隊。它的多維度資料檢索功能可以同時用多個條件篩選資料(VLOOKUP 做不到的多條件查找),NT$224/人/月起。

Notion——如果你的需求偏向資料庫管理加上知識文件整合,Notion 的關聯式資料庫(Relation)功能可以在不同資料表之間建立連結,類似 VLOOKUP 但更直覺,NT$256/人/月起。

工具 最適合的情境 入門價格 免費試用
monday.com 跨部門資料整合、自動化通知 NT$288/人/月 免費試用 →
ClickUp 技術團隊多條件資料檢索 NT$224/人/月 免費試用 →
Notion 資料庫 + 知識管理整合 NT$256/人/月 免費試用 →
Excel vs 協作工具選擇:資料量小於 5 萬列且單人使用?是→繼續用 Excel VLOOKUP;否→需要多人即時協作?是→monday.com 或 ClickUp;需要資料庫加文件整合?是→Notion
▲ Excel vs 協作工具選擇:資料量小於 5 萬列且單人使用?是→繼續用 Excel VLOOKUP;否→需要多人即時協作?是→monday.com 或 ClickUp;需要資料庫加文件整合?是→Notion
monday.com
用 monday.com 取代手動 Excel 追蹤
表格視圖 · 自動化公式 · 即時協作 · 永久免費