Excel XLOOKUP 萬能查表函數:取代 VLOOKUP 的新一代搜尋神器
如果你有訂閱 Microsoft 365 或使用 Excel 2021 以後的版本,那麼你一定要學會 XLOOKUP。它是微軟為了全面取代 VLOOKUP、HLOOKUP 以及 INDEX/MATCH 組合而推出的超級函數。它不僅運算速度更快,更解決了 VLOOKUP 過去數十年來所有的先天缺陷。
為什麼 XLOOKUP 更好用?
比起老牌的 VLOOKUP,XLOOKUP 有以下幾個壓倒性的優點:
- 不限搜尋方向:搜尋欄可以在任何位置,不一定要在最左邊。你可以向左找、向右找。
- 預設就是「精確比對」:再也不用每次都記得在最後打
FALSE或0。 - 不怕插入欄位:因為它是引用「儲存格範圍」而非「第幾欄數字」,資料表結構變動時公式不會壞掉。
- 內建錯誤處理:公式內就有參數可以設定「找不到時顯示什麼」,不用再包一層
IFERROR。
語法結構解析
=XLOOKUP(找什麼, 去哪裡找, 要傳回什麼範圍, [找不到的話顯示什麼], [比對模式], [搜尋模式])
通常你只需要前三個參數就能應付 90% 的需求:
- 找什麼 (lookup_value):你的目標值。
- 去哪裡找 (lookup_array):包含搜尋目標的那一欄。
- 要傳回什麼 (return_array):包含答案的那一欄。
- 找不到的話顯示什麼 (if_not_found):可選。若找不到資料,要顯示的文字(例如
"查無此人")。 - 比對模式 (match_mode):可選。
0為精確比對(預設);-1為精確比對或下一個較小值;1為精確比對或下一個較大值;2為萬用字元比對。 - 搜尋模式 (search_mode):可選。
1為從第一筆開始找(預設);-1為從最後一筆倒著找。
實戰演練:打破 VLOOKUP 的限制
為了讓你直觀感受 XLOOKUP 的強大,我們來看一個具體的模擬表格。
場景 1:不限搜尋方向(向左搜尋)
在 VLOOKUP 中,你只能根據第一欄往右找。但 XLOOKUP 可以讓你「向左找資料」。
| A (廠商名) | B (單價) | C (編號) | D (輸入區) | E (結果) | |
|---|---|---|---|---|---|
| 1 | 廠商名稱 | 單價 | 資料編號 | 輸入編號 | 自動帶出廠商 |
| 2 | 蘋果工廠 | 30 | P001 | P002 | =XLOOKUP... |
| 3 | 香蕉農場 | 20 | P002 |
當我們在 E2 輸入公式:
=XLOOKUP(D2, C:C, A:A)
- 解析:去 C 欄找編號,找到後對應回傳 A 欄的廠商名稱。不需要管誰在左邊、誰在右邊。
場景 2:一次傳回多個欄位(自動溢位)
如果你想根據一個編號,同時查出「廠商名稱」與「單價」,XLOOKUP 只需要一個公式就能搞定。
| A (廠商) | B (單價) | C (編號) | D (輸入) | E (廠商名) | F (單價) | |
|---|---|---|---|---|---|---|
| 1 | 廠商 | 單價 | 編號 | P001 | 蘋果工廠 | 30 |
在 E1 輸入公式:
=XLOOKUP(D1, C:C, A:B)
- 解析:回傳範圍我們選取了 A:B 兩欄。公式會根據 D1 的結果,自動將答案「溢位」填滿到 E1 與 F1。
進階功能:自訂找不到時的訊息
在 XLOOKUP 中,第四個參數取代了原本需要包一層 IFERROR 的動作。
- 範例:
=XLOOKUP(E1, A:A, B:B, "無此項目")如果 A 欄找不到 E1 的值,它會直接顯示「無此項目」,而不會出現醜醜的#N/A。
強大功能:一次傳回多個欄位
XLOOKUP 支援「動態陣列」。如果你想根據一個編號,同時查出「姓名」、「部門」與「分機」:
- 技巧:將第三個選取範圍設為多欄(如
B:D)。=XLOOKUP("E001", A:A, B:D)你只需要在一個儲存格輸入公式,資料就會自動溢位 (Spill) 到相鄰的儲存格,一次帶出三個答案!
為什麼你該現在就換 XLOOKUP?
學會 XLOOKUP 會讓你撰寫大型複雜公式的時間減半。它降低了思考維度,讓你專注在「資料連結」而非「格子數字計數」。雖然老同事可能還在用 VLOOKUP,但掌握 XLOOKUP 能讓你在處理大數據時顯得更加專業且游刃有餘。