首頁 / 公式 / VLOOKUP 函數
查詢與參照 Excel + Google Sheets

VLOOKUP 函數

VLOOKUP 是試算表歷史上最著名、但也最容易踩坑的查詢公式。掌握 4 個參數結構、搞懂近似比對與精確比對的界線、避開欄位硬編碼陷阱,並在鎖定迷你表上直接驗證。

VLOOKUP 函數語法與 4 大參數結構

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

VLOOKUP(Vertical Lookup,垂直查詢)由左至右掃描表格第一欄,找到目標值後回傳同列中指定欄位的資料。

1 lookup_value
必填

要尋找的目標值(例如商品編號 E2、客戶名稱或數值)。這個值必須存在於 table_array 的「最左側第一欄」。

2 table_array
必填

包含資料的搜尋範圍(例如 A2:D6)。公式向下或向右拖曳時,請務必加上 $ 符號鎖定(如 $A$2:$D$6)。

3 col_index_num
必填

要取回資料的欄位序號(由 table_array 第一欄起算為 1)。例如 A2:C6 中,A 欄是 1,C 欄是 3。非工作表絕對欄號!

4 range_lookup
選填

比對模式:FALSE 或 0 為完全相符(絕大多數業務必填);TRUE 或 1(或省略)為近似比對(階梯級距查詢且需事先升序排序)。

Excel VLOOKUP 範例:依商品編號查詢單價

A 欄是商品編號,B 欄是品名,C 欄是單價。E2 放要查的編號:SKU-102。這則 Excel VLOOKUP 範例使用精確比對。

商品編號品名單價
SKU-101Notebook12
SKU-102Pen set8
SKU-103Binder15
SKU-104Stapler9
=VLOOKUP(E2, A2:C5, 3, FALSE)

VLOOKUP 在 A2:C5 的第一欄找到 SKU-102,從同一列的第 3 欄回傳 8。FALSE(或 0)代表精確比對。省略第 4 參數時,Excel VLOOKUP 改用近似比對,未遞增排序的表會悄悄回傳錯誤列。編號不存在、文字型數字,或前後多一個空格,都會回傳 #N/A。

VLOOKUP 最常踩的 4 大陷阱

1. 預設是近似比對(忘記寫 FALSE 導致安靜出錯)

如果不填第 4 參數,VLOOKUP 預設為 TRUE 近似比對。在未遞增排序的文字資料中,它不會報錯,而是悄悄回傳錯誤列的資料!強烈建議日常查工號、訂單號一律手動填寫 FALSE 或 0。

2. 只能由左向右查(不能反向向左)

lookup_value 必須嚴格位於 table_array 的第一欄。如果查詢鍵在 C 欄,要查的資料在 A 欄,VLOOKUP 完全無能為力。此時必須改用 INDEX+MATCH 或現代 XLOOKUP。

3. 欄位序號硬編碼(插入或刪除欄位直接壞掉)

col_index_num 是靜態數字(如 3)。一旦有人在對照表中間插入新欄位,原本第 3 欄的資料變成第 4 欄,VLOOKUP 不會自動更新,直接讀取錯誤資料或引發 #REF!。

4. #N/A 格式不相符(文字型數字 vs 真正的數字)

肉眼看都是 1001,但一個是文字型(左對齊),另一個是數值型(右對齊),VLOOKUP 就會回傳 #N/A。文字頭尾多一個隱藏空格也會落空,可用 TRIM(E2) 或 VALUE(E2) 清洗。

查詢三劍客:VLOOKUP vs XLOOKUP vs INDEX+MATCH

VLOOKUP

老牌霸主。歷史最久、所有舊版 Excel 相容性最佳、求職面試必考。缺點是只能向右、插入欄位易斷裂、預設為近似比對。

XLOOKUP

現代推薦。向左向右隨心查、支援原生 not_found 備用值、預設精確比對、欄位插入不損壞。推薦 Office 365 與 Google Sheets 用戶優先使用。

INDEX + MATCH

經典組合。=INDEX(A2:A6, MATCH(E2, C2:C6, 0))。完全不怕欄位被插入移動、支援雙向查表,舊版 Excel 跨版本相容性無敵。

Excel 與 Google Sheets 平台差異與進階用法

Microsoft Excel (365 / Desktop)

在 Excel 365 中,可使用陣列常數同時回傳多欄:=VLOOKUP(F2, A2:D6, {2, 3, 4}, FALSE)。舊版 Excel 需固定 $A$2:$D$6 並在各欄分別調整索引序號。

Google Sheets

Google Sheets 原生支援整欄展開:=ARRAYFORMULA(VLOOKUP(E2:E, A2:D, 3, FALSE)),免手動下拉即可為數千筆訂單即時查詢,公式僅需寫在首列。

VLOOKUP 入門實戰:依商品 SKU 查詢單價

在下方鎖定微型表中敲入真實公式驗證,獲得毫秒級判題反饋,或開啟獨立全屏頁面練習。

開啟獨立練習題頁
題目說明
提示 0/4
官方解法 2
–
測試案例
1
2
3
重設
提交
fx
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
正在載入互動式試算表...
正在準備儲存格資料與公式求解引擎
○ 就緒 請在反白的目標儲存格輸入公式,然後點「提交」。

更多 VLOOKUP 實戰關卡推薦

從精確比對、階梯稅率近似查詢,到多欄連攜取數與 IFERROR 容錯,在真實業務情境中練出肌肉記憶。

常見問題

VLOOKUP 是如何運作的?

=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup]) 在 table_array 的最左側第一欄尋找 lookup_value,並回傳同列中第 col_index_num 欄的對應資料。

為什麼 VLOOKUP 會回傳 #N/A 錯誤?

1) 對照表第一欄找不到該值。2) 文字前後有不可見的空白字元。3) 資料型別不匹配(文字型數字 vs 真正的數值)。4) 忘記輸入第 4 參數 FALSE,在未排序表格中引發近似比對落空。

VLOOKUP 的 TRUE 與 FALSE 有何差別?

FALSE(或 0)代表完全相符(精確比對);TRUE(或 1,或省略)代表近似比對,要求對照表第一欄必須嚴格遞增排序,適合用於階梯稅率、成績等第等區間查詢。

Google Sheets 的 VLOOKUP 有何不同?

語法完全相容。此外 Google Sheets 原生支援 =ARRAYFORMULA(VLOOKUP(E2:E, A2:C, 3, FALSE)),可整欄自動展開運算,無需手動向下拖曳公式。

XLOOKUP 與 VLOOKUP 該選哪一個?

現代 Excel(Microsoft 365)與 Google Sheets 強烈建議使用 XLOOKUP:不限向左或向右、插入欄位不破壞參照、預設精確比對。但 VLOOKUP 依然是舊版檔案相容性與企業面試中最常考的標竿。