XLOOKUP 函數是 Excel 中用來進行「資料查詢與擷取」的現代工具,設計用來取代 VLOOKUP、HLOOKUP 及 INDEX+MATCH 的組合。它支援向左查詢、錯誤處理、自訂回傳值等功能,適合用在報表設計、資料比對、動態查詢等場景。
一、XLOOKUP 函數語法與用途:彈性查詢的現代工具
語法:
=XLOOKUP(查詢值, 查詢陣列, 回傳陣列, [找不到時回傳], [比對模式], [搜尋模式])
- 查詢值:要查找的資料(例如學號、產品編號)
- 查詢陣列:要搜尋的欄位或列
- 回傳陣列:要回傳的欄位或列
- 找不到時回傳(可選):查詢失敗時顯示的自訂訊息
- 比對模式(可選):0 為完全比對(預設)、-1 為小於、1 為大於、2 為通配符
- 搜尋模式(可選):1 從第一筆開始(預設)、-1 從最後一筆開始
二、XLOOKUP 函數範例:多場景應用教學
範例一:查詢學生成績(基本用法)
=XLOOKUP("A001", A2:A100, C2:C100)
在 A2:A100 中查找學號 A001,回傳 C 欄的成績。
範例二:查詢產品價格,若查無則顯示「無此品項」
=XLOOKUP(D2, F2:F50, G2:G50, "無此品項")
D2 為產品編號,F 為查詢欄,G 為價格欄。
範例三:向左查詢員工部門(VLOOKUP 無法做到)
=XLOOKUP(B2, C2:C100, A2:A100)
在 C 欄查詢員工編號,回傳 A 欄的部門。
範例四:查詢最接近的值(比對模式為近似)
=XLOOKUP(85, A2:A100, B2:B100, "查無", -1)
查找小於或等於 85 的最大值對應資料。
範例五:從最後一筆開始查詢(搜尋模式為 -1)
=XLOOKUP("王小明", A2:A100, B2:B100, "查無", 0, -1)
從資料表最後一筆開始查詢「王小明」。
三、XLOOKUP 函數注意事項與錯誤排除
- 查詢陣列與回傳陣列必須為相同大小的範圍
- 預設為完全比對,若查無資料會回傳錯誤
#N/A,建議使用「找不到時回傳」參數 - 支援通配符查詢(例如
"王*"),需設定比對模式為 2 - 可搭配
IFERROR或LET函數進行進階錯誤處理與效能優化 - 若使用動態陣列版本,請確認 Excel 版本支援 XLOOKUP(Excel 365 或 Excel 2019 以上)
四、常見問題解答(FAQ)
Q1:XLOOKUP 和 VLOOKUP 有什麼差別?
XLOOKUP 支援向左查詢、錯誤處理、通配符、近似比對與搜尋方向,功能更強大且語法更直覺。
Q2:XLOOKUP 可以查詢文字嗎? 可以,只要查詢值與查詢陣列中的文字完全一致或符合通配符條件。
Q3:XLOOKUP 可以搭配條件判斷嗎? 可以,例如:
=IF(XLOOKUP(A1, B2:B100, C2:C100, "")="管理部", "主管", "員工")
五、進階技巧與延伸應用
XLOOKUP 是查詢與擷取的現代工具,進一步你可以學習:
- FILTER 函數:依條件擷取多筆資料
- INDEX + MATCH 函數:進階查詢組合,適合舊版 Excel
- LET 函數:提升 XLOOKUP 效能與可讀性
- IF + XLOOKUP:建立分類、警示、動態標示
這些技巧適合用在報表設計、資料比對、動態查詢等進階場景。
六、結語與延伸閱讀推薦
XLOOKUP 函數是 Excel 中最靈活的查詢工具之一,適合用在成績查詢、產品比對、報表擷取、錯誤處理等情境。學會 XLOOKUP 後,你可以進一步探索:
- [FILTER 函數教學:依條件擷取多筆資料的進階工具]
- [INDEX + MATCH 教學:進階資料查詢的組合技巧]
- [LET 函數教學:提升公式效能與可讀性的好方法]



















