LOOKUP 函數用於在單欄或單列中尋找資料,並從另一個對應的單欄或單列回傳相同位置的值。使用前必須將查詢範圍遞增排序,適合處理成績等第或級距計算。
Excel LOOKUP 函數語法
=LOOKUP(查閱值, 查閱向量, [傳回向量])| 參數 | 必填 | 說明 |
|---|---|---|
| 查閱值 | 是 | 要在查閱向量中尋找的值,可以是數字、文字、邏輯值或儲存格參照。 |
| 查閱向量 | 是 | 只包含一列或一欄的儲存格範圍。此範圍內的資料必須以遞增順序排列(由小到大、A到Z),否則可能回傳錯誤值。 |
| 傳回向量 | 選填 | 只包含一列或一欄的儲存格範圍,大小必須與查閱向量相同。若省略,則直接回傳查閱向量中找到的值。 |
回傳:回傳傳回向量中對應位置的值。若找不到完全相同的值,會回傳小於或等於查閱值的最大值。
適用版本:Excel 2003 以上版本支援。
LOOKUP 函數範例
範例 1:簡單的級距查詢(成績等第)
根據學生的分數查詢對應的成績等第。
| 分數 | 等第 | 學生 | 得分 | 查詢等第 |
|---|---|---|---|---|
| 0 | F | 王小明 | 85 | |
| 60 | D | 陳怡君 | 55 | |
| 70 | C | 林志明 | 92 | |
| 80 | B | 張淑芬 | 78 | |
| 90 | A | 李建國 | 60 |
在 E2 輸入公式:
=LOOKUP(D2, A2:A6, B2:B6)結果:B。查閱值 85 在 A2:A6 範圍中找不到完全相同的值,因此往下尋找小於或等於 85 的最大值,也就是 80,並回傳 B 欄對應位置的 B。
範例 2:業績獎金比例查詢
依據業務員的業績金額,找出對應的獎金發放比例。
| 業績門檻 | 獎金比例 | 業務員 | 本月業績 | 適用比例 |
|---|---|---|---|---|
| 0 | 0.05 | 王小明 | 120000 | |
| 100000 | 0.08 | 陳怡君 | 80000 | |
| 200000 | 0.1 | 林志明 | 250000 | |
| 500000 | 0.15 | 張淑芬 | 499999 |
在 E2 輸入公式:
=LOOKUP(D2, A2:A5, B2:B5)結果:0.08。查閱值 120000 介於 100000 與 200000 之間。LOOKUP 函數會配對小於 120000 的最大值(即 100000),並回傳對應的獎金比例 0.08。
範例 3:尋找欄位中的最後一筆資料
找出出勤紀錄表中,最後一次有打卡狀態的日期。
| 日期 | 打卡狀態 | 最後打卡日 | ||
|---|---|---|---|---|
| 2026/10/20 | 出席 | |||
| 2026/10/21 | 出席 | |||
| 2026/10/22 | 缺席 | |||
| 2026/10/23 |
在 D2 輸入公式:
=LOOKUP(2, 1/(B2:B5<>""), A2:A5)結果:2026/10/22。條件判斷產生 TRUE/FALSE 陣列,1 除以該陣列會得到 1 或錯誤值。用大於 1 的數值 2 進行查詢,LOOKUP 會略過錯誤值並找到最後一個 1,回傳對應的日期。
使用 LOOKUP 的技巧與注意事項
- LOOKUP 函數預設只能進行近似匹配,無法強制要求完全符合。如果需要精確尋找特定文字或數值,建議改用 VLOOKUP 或 XLOOKUP 函數。
- 查閱向量中的文字不區分大小寫。排序時,數字會排在文字前面,FALSE 會排在 TRUE 前面。
- 利用 =LOOKUP(2, 1/(條件範圍="條件"), 傳回範圍) 的公式結構,可以實現在未排序的資料中尋找符合條件的「最後一筆」紀錄。
LOOKUP 常見錯誤與解決方法
| 錯誤 | 原因 | 解決方法 |
|---|---|---|
| #N/A | 查閱值小於查閱向量中的最小值,或者查閱向量沒有以遞增順序排列。 | 確認查閱向量的資料已經由小到大排序,並確認查閱值大於或等於範圍內的最小值。 |
| 回傳錯誤的資料 | 查閱向量未經排序,導致 LOOKUP 函數在進行二分搜尋時找到錯誤的配對位置。 | 針對查閱向量進行遞增排序。若需要精確配對且不想排序,請改用 VLOOKUP 或 XLOOKUP 函數。 |
Google 試算表可以用 LOOKUP 嗎?
Google 試算表完全支援 LOOKUP 函數,語法與規則與 Excel 相同,同樣要求查閱範圍必須遞增排序才能確保結果正確。
下載 LOOKUP 範例檔
上面的範例都整理在這個檔案裡,每個範例一個工作表,黃色格子是公式,可以直接改資料看結果變化:LOOKUP 範例.xlsx(範例公式都在試算表軟體實際計算過)。
常見問題
LOOKUP 和 VLOOKUP 有什麼不同?
LOOKUP 只能做近似匹配,且查詢範圍必須排序;它可以分開指定查詢欄與回傳欄。VLOOKUP 則可以選擇精確匹配或近似匹配,但查詢欄必須在回傳欄的左側。
為什麼 LOOKUP 函數回傳的結果是錯的?
最常見的原因是「查閱向量沒有遞增排序」。LOOKUP 函數使用二分搜尋法,如果資料沒有由小到大排列,函數在搜尋過程中就會迷失,導致回傳不相干的結果。
可以用 LOOKUP 找完全一樣的值嗎?
雖然當資料有完全一樣的值時 LOOKUP 會找到它,但前提依然是資料必須排序。如果資料未排序,LOOKUP 無法保證能找到精確值。建議改用 XLOOKUP 或 VLOOKUP 來進行精確匹配。
相關函數
這篇收錄在「Excel 函數字典」。




