免費軟體與線上工具1,417影音、圖片與 PDF9153C 開箱評測895生活、旅遊與遊戲798iPhone 與 Mac546LINE 與社群533Google 服務462Windows 與電腦451Android 手機402網路新知372Office 教學363AI 工具114
Office 教學

Excel XLOOKUP 函數用法與範例:取代 VLOOKUP

XLOOKUP 函數用於在資料表或範圍中尋找特定項目,並傳回同一列中另一個欄位的值。與舊版函數不同,它不需要指定欄數,且預設為完全比對,讓跨欄查詢變得更直覺且不容易出錯。

Excel XLOOKUP 函數語法

=XLOOKUP(查閱值, 查閱陣列, 傳回陣列, [找不到時傳回], [比對模式], [搜尋模式])
參數必填說明
查閱值是要搜尋的目標值。
查閱陣列是要在其中搜尋的範圍或陣列。
傳回陣列是包含要傳回結果的範圍或陣列。
找不到時傳回選填找不到相符項目時要顯示的文字或值。若省略則傳回 #N/A 錯誤。
比對模式選填指定比對方式。0 為完全比對(預設),-1 為完全比對或下一個較小項目,1 為完全比對或下一個較大項目,2 為萬用字元比對。
搜尋模式選填指定搜尋方向。1 為從第一筆開始(預設),-1 為從最後一筆開始,2 與 -2 為二元搜尋。

回傳:傳回與查閱值相符的對應項目。若傳回陣列包含多欄或多列,會以動態陣列溢出顯示。

適用版本:Microsoft 365、Excel 2021 以上版本支援。

XLOOKUP 函數範例

範例 1:基本向左查詢

根據員工編號查詢姓名。

姓名部門員工編號查詢編號查詢結果
王小明業務部E001E003
李大華行銷部E002
張美麗資訊部E003

在 E2 輸入公式:

=XLOOKUP(D2, C2:C4, A2:A4)

結果:張美麗。XLOOKUP 可以輕鬆實現向左查詢。公式在 C2:C4 尋找 D2 的值(E003),並傳回 A2:A4 中對應的姓名「張美麗」。

範例 2:自訂找不到時的傳回值

查詢商品庫存,若找不到則顯示自訂提示。

商品名稱庫存量查詢商品查詢結果
蘋果50橘子
香蕉30
芭樂20

在 D2 輸入公式:

=XLOOKUP(C2, A2:A4, B2:B4, "無此商品")

結果:無此商品。橘子不在 A2:A4 的清單中。透過設定第四個參數為「無此商品」,當找不到相符資料時,會直接顯示該文字取代 #N/A 錯誤。

範例 3:近似比對查詢

根據業績金額查詢對應的獎金比例(找下一個較小項目)。

業績門檻獎金比例實際業績對應比例
0045000
100000.05
500000.1
1000000.15

在 D2 輸入公式:

=XLOOKUP(C2, A2:A5, B2:B5, , -1)

結果:0.05。業績 45000 介於 10000 與 50000 之間。設定比對模式為 -1,會尋找完全比對或下一個較小的值(10000),傳回對應的獎金比例 0.05。

使用 XLOOKUP 的技巧與注意事項

  • XLOOKUP 預設為完全比對,不需要像 VLOOKUP 一樣在最後加上 0 或 FALSE。
  • 當傳回陣列包含多個欄位時,XLOOKUP 會一次傳回整列資料,這在需要同時查詢多項資訊時非常方便。
  • 利用搜尋模式參數設為 -1,可以從資料表底部往上搜尋,適合用來尋找同一項目的最新或最後一筆紀錄。

XLOOKUP 常見錯誤與解決方法

錯誤原因解決方法
#N/A找不到相符的查閱值,且未設定「找不到時傳回」參數。確認查閱值是否存在於查閱陣列中,或在第四個參數設定自訂的錯誤提示文字。
#VALUE!查閱陣列與傳回陣列的維度(列數或欄數)不一致。檢查並修改公式,確保查閱陣列與傳回陣列的範圍大小完全相同。
#SPILL!傳回結果包含多個儲存格(陣列),但旁邊的儲存格已有資料阻擋。清除阻擋範圍內的資料,讓陣列結果有足夠的空白空間可以溢出顯示。

Google 試算表可以用 XLOOKUP 嗎?

Google 試算表已全面支援 XLOOKUP 函數,語法與參數設定與 Excel 完全相同,可無縫轉換使用。

下載 XLOOKUP 範例檔

上面的範例都整理在這個檔案裡,每個範例一個工作表,黃色格子是公式,可以直接改資料看結果變化:XLOOKUP 範例.xlsx(範例公式的結果經過兩個模型交叉核對)。

常見問題

XLOOKUP 和 VLOOKUP 有什麼不同?

XLOOKUP 是 VLOOKUP 的改良版。它支援向左查詢、預設完全比對、不需計算欄數,且能直接處理找不到資料時的傳回值,運算效能與彈性都大幅提升。

為什麼我的 Excel 找不到 XLOOKUP 函數?

XLOOKUP 是較新的函數,僅支援 Microsoft 365 或 Excel 2021 以上版本。若使用 Excel 2019 或更舊版本,請改用 INDEX 與 MATCH 的組合來達到類似效果。

可以利用 XLOOKUP 一次查回多個欄位的資料嗎?

可以。只要將「傳回陣列」設定為包含多個欄位的範圍,XLOOKUP 就會將符合條件的整列資料,以動態陣列的方式一次溢出顯示在相鄰的儲存格中。

這篇收錄在「Excel 函數字典」。