Excel 教學:LOOKUP 函數
1. LOOKUP 函數的用途
LOOKUP 函數是用來從一個範圍或數組中查找特定值,並返回該值對應的結果。它是一個舊版查找函數,主要有兩種形式:
- 向量形式(Vector form)
- 數組形式(Array form)
2. LOOKUP 函數的語法
向量形式(Vector form):
LOOKUP(lookup_value, lookup_vector, [result_vector])
| 參數 | 說明 |
|---|---|
lookup_value | 必填,要查找的值。 |
lookup_vector | 必填,包含查找範圍的向量。 |
[result_vector] | 選填,對應返回值的向量。若省略,則返回與 lookup_vector 中 lookup_value 所對應的值。 |
數組形式(Array form):
LOOKUP(lookup_value, array)
| 參數 | 說明 |
|---|---|
lookup_value | 必填,要查找的值。 |
array | 必填,一個數組或範圍,其中包含查找數據。 |
3. LOOKUP 函數範例
? 範例 1:向量形式的 LOOKUP
假設有以下表格(A1:B4):
| 產品 | 價格 |
|---|---|
| iPhone | 500 |
| iPad | 300 |
| MacBook | 1000 |
? 查找產品名稱對應的價格:
=LOOKUP("iPad", A1:A3, B1:B3)
? 結果:300
這裡,LOOKUP("iPad", A1:A3, B1:B3) 查找 A1:A3 範圍中的 "iPad",並返回 B1:B3 中相對應的價格(300)。
? 範例 2:數組形式的 LOOKUP
假設有以下數組:
{1, 3, 5, 7, 9}
對應的結果數組:
{10, 30, 50, 70, 90}
? 查找數組中最接近但不超過 6 的數字對應的結果:
=LOOKUP(6, {1, 3, 5, 7, 9}, {10, 30, 50, 70, 90})
? 結果:50
這裡,LOOKUP 函數會返回數組中最接近但不超過 6 的數字對應的結果,即 5 所對應的 50。
? 範例 3:查找空白或非精確匹配
LOOKUP 函數假設查找值是按升序排列的,並且在沒有完全匹配時會返回小於或等於查找值的最大值。假設有以下表格:
| 年齡 | 分數 |
|---|---|
| 20 | 70 |
| 25 | 80 |
| 30 | 90 |
? 查找年齡為 28 的對應分數:
=LOOKUP(28, A2:A4, B2:B4)
? 結果:80
這裡,LOOKUP 會找到 A2:A4 中最接近 28 的數字 25,並返回 B2:B4 中相對應的分數 80。
4. LOOKUP 函數的應用
✅ 從表格中查找某個值並返回對應的資料,例如查詢產品價格、員工工資、學生成績等。
✅ 可以用於近似查找,例如查找範圍內最接近但不超過查找值的數字。
✅ 當資料是排序過的,使用 LOOKUP 函數來快速查找。
5. LOOKUP 函數的限制
| 限制 | 說明 |
|---|---|
| 需要數據升序排列 | LOOKUP 函數假設數據是升序排列的,若數據無序,可能會出現錯誤結果。 |
| 無法進行精確匹配 | 如果數據中沒有精確匹配的項目,LOOKUP 函數會返回小於或等於查找值的最大值。 |
| 無法查找多列或多行範圍 | LOOKUP 函數只能用於單列或單行範圍,若需要多列查找,則可考慮使用 VLOOKUP 或 INDEX / MATCH 的組合。 |
6. 總結
LOOKUP函數是一個舊版的查找函數,用來從數據中查找值並返回對應的結果。- 它適用於數據已經排序的情況,並支持近似匹配(查找小於或等於查找值的最大值)。
- 當你需要查找單列或單行範圍的數據時,
LOOKUP是一個簡單有效的選擇。但如果需要精確匹配或多列查找,應該使用VLOOKUP、HLOOKUP或INDEX/MATCH。