VLOOKUP 找不到資料會回傳 #N/A,導致下游公式連鎖錯誤、報表難看。本文提供三種處理策略:經典 IF(ISERROR(...))、Excel 2007+ IFERROR 簡化寫法、Excel 365/2021 XLOOKUP 內建錯誤處理,並分析常見導致 #N/A 的根本原因。
原公式:=VLOOKUP(A:A, Sheet3!A:B, 2, 0) → 結果 #N/A。

=IF(ISERROR(VLOOKUP(A:A, Sheet3!A:B, 2, 0)), "", VLOOKUP(A:A, Sheet3!A:B, 2, 0))
"";否則回傳查詢結果。


=IFERROR(VLOOKUP(A:A, Sheet3!A:B, 2, 0), "")
0、"-"、"查無資料" 等自訂顯示。=XLOOKUP(A2, Sheet3!A:A, Sheet3!B:B, "查無資料")
if_not_found 直接指定找不到時的回傳值,無需額外包裹。| 原因 | 檢查方式 | 解決方法 |
|---|---|---|
| 查找值不存在於查找範圍第一欄 | =COUNTIF(查找範圍第一欄, 查找值) 為 0 | 確認資料來源、拼字、空白字元 |
| 資料型別不符(數值 vs 文字) | =ISTEXT(查找值) vs =ISNUMBER(查找範圍) | 統一格式:文字轉數值(數值/文字分欄)、數值轉文字(TEXT) |
| 隱形字元(空格、換行、不可見字元) | =LEN(查找值) vs =LEN(TRIM(查找值)) | TRIM/CLEAN/SUBSTITUTE(..., CHAR(160), "") |
| 查找範圍參考錯誤(未鎖定、跨工作表名稱錯誤) | 檢查公式參考區域是否正確 | 使用絕對參考 $A$1:$B$100、確認工作表名稱 |
| 第 4 參數為 1/TRUE(近似比對)但資料未排序 | 檢查公式最後一參數 | 精確比對請用 0/FALSE,或先排序再用近似比對 |
XLOOKUP 或 INDEX+MATCH,避開 VLOOKUP 結構限制(只能向右查、插入欄位易錯)。IFERROR(VLOOKUP..., "") 統一替換。