Excel 教學:VLOOKUP 函數
1. VLOOKUP 函數的用途
VLOOKUP 函數用來在範圍的第一列中查找特定值,然後返回該值所在行的指定列中的對應數據。它是一個非常常用的查找函數,適合用於搜尋表格或數據範圍,並且根據查詢條件返回所需的結果。
2. VLOOKUP 函數的語法
VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
| 參數 | 說明 |
|---|---|
lookup_value | 必填,要查找的值。可以是文字、數字或參照。 |
table_array | 必填,包含要查找數據的範圍(通常包括查找列及返回數據的列)。 |
col_index_num | 必填,指定從 table_array 中返回結果的列數。第一列為 1,第二列為 2,依此類推。 |
[range_lookup] | 選填,決定是否使用精確匹配。使用 TRUE(或省略)表示近似匹配,使用 FALSE 表示精確匹配。 |
3. VLOOKUP 函數範例
? 範例 1:使用精確匹配查找數據
假設你有以下員工資料表:
| 員工編號 | 員工姓名 | 部門 |
|---|---|---|
| 101 | 王小明 | 財務部 |
| 102 | 李大華 | 人事部 |
| 103 | 張三 | 市場部 |
| 104 | 王二麻 | IT部 |
你想根據員工編號查找員工姓名。
? 查找員工編號 102 的員工姓名:
=VLOOKUP(102, A2:C5, 2, FALSE)
? 結果: 李大華
這裡,VLOOKUP(102, A2:C5, 2, FALSE) 查找範圍 A2:C5 中,第一列的值 102,並返回第 2 列的對應值,即 李大華。
? 範例 2:使用近似匹配查找數據
假設你有以下薪資範圍表,並希望根據薪水查找相應的稅率:
| 薪水範圍 | 稅率 |
|---|---|
| 0 | 5% |
| 5000 | 10% |
| 10000 | 15% |
| 20000 | 20% |
? 查找薪水 12000 對應的稅率:
=VLOOKUP(12000, A2:B5, 2, TRUE)
? 結果: 15%
這裡,VLOOKUP(12000, A2:B5, 2, TRUE) 查找範圍 A2:B5 中,第一列中最接近 12000 的數值(即 10000),並返回第 2 列的對應值,即 15%。
? 範例 3:如果未找到匹配的結果,返回自定義訊息
假設你有一個學生分數表,並希望查找某學生的分數,若沒有找到則返回 “找不到該學生”。
| 學生姓名 | 分數 |
|---|---|
| 張三 | 85 |
| 李四 | 90 |
| 王五 | 78 |
? 查找學生 李小明 的分數,如果找不到則顯示 “找不到該學生”:
=IFERROR(VLOOKUP("李小明", A2:B4, 2, FALSE), "找不到該學生")
? 結果: 找不到該學生
VLOOKUP 查找 李小明 的分數時未找到匹配,因此 IFERROR 返回自定義訊息 找不到該學生。
4. VLOOKUP 函數的應用
✅ 查詢表格數據:最常見的用途是查詢表格中數據,並根據某個關鍵值(如員工編號、產品代碼等)返回對應的數據。
✅ 報表自動化:在製作報表時,可以利用 VLOOKUP 函數從其他數據表格中提取所需數據,實現報表的自動更新。
✅ 價格查詢:可以根據商品代碼查詢商品的價格,或者根據薪水範圍查詢稅率。
5. VLOOKUP 函數的限制
| 限制 | 說明 |
|---|---|
| 只能查找第一列 | VLOOKUP 只能在指定範圍的第一列中查找 lookup_value,而無法在其他列查找。 |
| 返回的列數固定 | VLOOKUP 必須指定返回值的列數,且必須是從查找範圍的第一列開始的相對列數。 |
| 近似匹配時需要排序 | 若使用近似匹配(TRUE 或省略),table_array 的第一列必須按升序排列,否則可能會返回錯誤的結果。 |
6. 總結
VLOOKUP函數是一個非常強大的查找函數,用於從範圍的第一列查找值,並返回對應行中其他列的數據。- 它常用於查詢、數據分析和報表自動化中。
- 使用時,請注意查找列必須是範圍的第一列,並且要選擇合適的匹配模式(精確匹配或近似匹配)。