Excel VLOOKUP 與 HLOOKUP 查表函數:職場最強大的資料對應術
在職場工作中,「對資料」佔據了大量的時間。例如:你有一個員工編號,想從另外一張員工清冊中查出對應的姓名與部門。這時候,你絕對不能靠眼睛一個一個看,而是要使用 Excel 的大魔王函數——VLOOKUP。
什麼是 VLOOKUP?
V 代表 Vertical (垂直)。它的作用是在資料表的第一欄中搜尋特定值,並傳回同一列中指定欄位的內容。
語法:四個關鍵參數
=VLOOKUP(搜尋值, 搜尋範圍, 欄位索引, [比對方式])
- 搜尋值 (lookup_value):你想找的東西。例如「員工編號」或「產品名稱」。
- 搜尋範圍 (table_array):資料在哪裡?注意:你要找的關鍵字必須在這個範圍的最左邊那一欄。
- 欄位索引 (col_index_num):找到資料後,要回傳範圍內的「第幾欄」?(從 1 開始計算)。
- [比對方式] (range_lookup):
- 0 或 FALSE:完全符合(最常用,找不到就報錯)。
- 1 或 TRUE:近似符合(常用於等級、獎金比例計算,需先排序)。
實戰範例:訂單自動帶入單價
我們假設工作表中有兩個區塊,一個是「產品價格表」(資料庫範圍 A1:B4),另一個是你要填寫的「每日訂單表」(作業區域 D1:E4)。
模擬工作表配置:
| A (產品名) | B (單價) | C (空位) | D (點餐) | E (結果) | |
|---|---|---|---|---|---|
| 1 | 產品名稱 | 單價 | 點餐內容 | 自動單價 | |
| 2 | 蘋果 | 30 | 橘子 | =VLOOKUP... | |
| 3 | 香蕉 | 20 | 蘋果 | ||
| 4 | 橘子 | 25 |
撰寫與解析公式:
當你在 E2 儲存格輸入公式時,邏輯如下:
=VLOOKUP(D2, $A$2:$B$4, 2, FALSE)
D2(找什麼):拿著訂單表裡的「橘子」去比對。$A$2:$B$4(在哪找):去旁邊的價格表範圍尋找。注意:搜尋目標必須在範圍的第一欄 (A 欄)。2(找第幾欄):在價格表找到橘子後,抓取該範圍的「第 2 欄」(也就是 B 欄的單價)。FALSE(怎麼找):精確比對,名稱必須完全一樣才算數。
VLOOKUP 的「三大死穴」 (使用限制)
雖然強大,但 VLOOKUP 有幾個讓人頭痛的先天限制:
- 無法向左看:你只能根據「第一欄」往右找。如果你想根據身分證號找姓名,但姓名在身分證號的左邊,VLOOKUP 就失效了。
- 重複資料問題:如果第一欄有多個重複的搜尋目標,VLOOKUP 只會傳回「第一個」找到的結果。
- 插入欄位大災難:公式中的「第幾欄」是固定的數字。如果你在資料表中間插入一欄,原本的數字 2 可能會變成抓錯格,導致維護困難。
HLOOKUP:水平尋找
如果你的資料是「橫向」排列的(標題在最左側,資料在右邊各欄),就改用 HLOOKUP (Horizontal)。
語法:四個關鍵參數
=HLOOKUP(搜尋值, 搜尋範圍, 列位索引, [比對方式])
- 搜尋值:你想找的東西。
- 搜尋範圍:標題在左邊時,搜尋目標必須在範圍的「第一列」。
- 列位索引 (Row_index_num):找到後,要回傳該範圍內的「第幾列」?(由上往下數)。
- [比對方式]:通常輸入
0或FALSE代表精確符合。
實戰範例:查月份營收
假設你有一個橫向的年度營收表,你想輸入月份就自動帶出對應的營收:
| B (標題) | C (一月) | D (二月) | E (三月) | |
|---|---|---|---|---|
| 1 | 月份 | 1月 | 2月 | 3月 |
| 2 | 營收 | 100,000 | 120,000 | 150,000 |
如果你在另一個格子輸入:
=HLOOKUP("2月", $C$1:$E$2, 2, FALSE)
說明:
- 拿著 "2月" 去 C1:E1(第一列)尋找。
- 找到後,回傳該區塊的「第 2 列」資料,也就是 120,000。
常見的錯誤與解決方案
- 出現
#N/A:找不到目標。請檢查:- 搜尋目標是否有後面帶空格?
- 資料來源是否真的存在該目標?
- 資料格式是否一致(數字 vs 儲存為文字的數字)?
- 帶出錯誤的資料:通常是因為最後一個參數忘了輸入
FALSE。
專業習慣:配合 IFERROR
在使用 VLOOKUP 時,若找不到資料會顯示難看的
在使用 VLOOKUP 時,若找不到資料會顯示難看的
#N/A。建議包一層 IFERROR 函數美化它:
=IFERROR(VLOOKUP(D2, $A$2:$B$4, 2, 0), "查無資料")雖然 VLOOKUP 是職場老兵,但在 Excel 365 之後推出的 XLOOKUP 已經完美解決了上述所有缺點。