跳到主要內容跳到頁尾

XLOOKUP 入門:用品名查價格,也對照 VLOOKUP

6 分鐘閱讀Lv.1 初學者摘要與日期

XLOOKUP 的三個必填參數、找不到時自訂顯示的內容,以及可以往左查的寫法,最後和 VLOOKUP 的寫法逐項對照。

發布 更新

文章目錄

今天要來聊聊 XLOOKUP,用一個值去表格裡找它對應的另一個值,比如拿品名去查價格。

如果你以前學過 VLOOKUP,文章後面也會把兩個函式的寫法放在一起對照。

手動查有多麻煩

我手上有一張手搖飲的菜單,一共 5 個品項,有編號、品名跟單價:

ABC
1編號品名單價
2T-17蘋果紅茶45
3T-04烏龍奶茶55
4T-32蘋果綠茶45
5T-09青茶35
6T-25桂花烏龍50

我想知道「烏龍奶茶」賣多少錢。5 列的話眼睛掃一下就找到了,不過如果菜單有幾百列、每天都有人來問不同的品項,一個一個用 Ctrl+F 找就有點太麻煩了吧!這時候就可以把 XLOOKUP 派上場。

XLOOKUP

XLOOKUP 會在一個範圍裡找你給的值,找到之後,回傳另一個範圍中同一個位置的值。

語法

  • 查找值:你手上有的那個值,例如「烏龍奶茶」,可以直接打,也可以指定儲存格。
  • 查找範圍:要去哪裡找這個值。官方說明寫的是必須是單列或單欄。
  • 結果範圍:找到之後,要從哪個範圍把值帶回來。大小要和查找範圍對得起來,位置才會一一對應。
  • 找不到時的值:選填,查不到的時候要顯示什麼。不填的話會是 #N/A。
  • 比對模式、搜尋模式:選填,這篇先不用,放著不填就是預設的「完全一樣才算找到、從上往下找」。

最後兩個選填參數可以做的事很多,也有幾個容易踩到的地方,我留到 XLOOKUP 進階陷阱 再講。

如果你的檔案之後還要拿到 Excel 用:Excel 的 XLOOKUP 只有 Microsoft 365、Excel 2021、Excel 2024 才有,Excel 2016、2019 沒有這個函式,會顯示 #NAME?。參數的順序和 Google 試算表一樣,第四個參數(Excel 名稱為 if_not_found)省略時同樣回 #N/A。

第一個查找

我想找「烏龍奶茶」的單價,把品名打在 E2。查找範圍是品名那一欄 B2:B6,結果範圍是單價那一欄 C2:C6。

如果要用 XLOOKUP 寫,就是:

Google 試算表公式
fx

在 B 欄找 E2 的品名,回傳 C 欄對應的單價

=XLOOKUP(E2, B2:B6, C2:C6)
  • E2:查找值,裡面是「烏龍奶茶」。
  • B2:B6:查找範圍,去品名欄找。
  • C2:C6:結果範圍,找到之後帶單價欄對應的那一格回來。

先手算一下:「烏龍奶茶」在 B 欄的第 2 個位置,那就拿單價欄的第 2 個,是 55。來看看結果:

查詢品名單價
烏龍奶茶55

你應該會得到 55!把 E2 換成別的品名,單價就會跟著換。

往左也能查

我再想一個題目:知道品名,想反過來查編號。編號在 A 欄,品名在 B 欄,也就是結果在查找範圍的「左邊」。

Google 試算表公式
fx

在 B 欄找 E2 的品名,回傳左邊 A 欄的編號

=XLOOKUP(E2, B2:B6, A2:A6)

只要把結果範圍換成 A2:A6 就好,E2 一樣是「烏龍奶茶」,來看看結果:

查詢品名編號
烏龍奶茶T-04

找不到的時候

如果 E2 打了菜單裡沒有的「珍珠奶茶」,XLOOKUP 會回 #N/A。自己看是沒關係,要給別人用的話,一整片紅紅的錯誤會讓人以為壞掉了。

這時候就用到第四個參數:

Google 試算表公式
fx

找不到品名時,顯示「沒有這個品項」

=XLOOKUP(E2, B2:B6, C2:C6, "沒有這個品項")
查詢品名單價
珍珠奶茶沒有這個品項

第四個參數填文字要加雙引號,填數字就不用。官方說明沒有特別限制它能填什麼,我習慣填一句人看得懂的話,這樣別人一看就知道是「查不到」,不是公式壞了。

對照 VLOOKUP

先把 E2 從上一節的「珍珠奶茶」改回「烏龍奶茶」,確認查找結果是 55;下面兩種函式比較都使用這個查找值。

VLOOKUP 是比較早就有的查找函式,舊檔案裡很常看到,所以還是要讀得懂。

語法

  • 查找值:要找的值。它必須在「範圍」的第一欄,不然拿不到正確的結果。
  • 範圍:要搜尋的區域,VLOOKUP 只會搜尋這個範圍的第一欄。
  • 欄號:結果在「範圍」裡的第幾欄,從 1 開始數,是範圍內的第幾欄,不是試算表的 A、B、C 欄。
  • 是否排序:選填。FALSE 是完全一樣才算找到,TRUE 是近似比對。官方說明寫的是不填就當作 TRUE,同一頁也建議用 FALSE。

同樣的題目,用 VLOOKUP 寫:

Google 試算表公式
fx

在 B2:C6 的第一欄找 E2 的品名,回傳範圍內第 2 欄的單價

=VLOOKUP(E2, B2:C6, 2, FALSE)
  • E2:「烏龍奶茶」。
  • B2:C6:範圍。品名要放在第一欄,所以從 B 欄開始框。
  • 2:單價是 B2:C6 的第 2 欄。
  • FALSE:要完全一樣才算找到。

結果一樣是 55。兩個函式放在一起看,差別是這樣:

XLOOKUPVLOOKUP
結果怎麼指定直接框結果範圍數「第幾欄」
結果在查找欄的左邊可以,把結果範圍換成左邊那欄查找值一定要在範圍第一欄,所以不行直接查
找不到時的值第四個參數,不填是 #N/A沒有這個參數,要另外包 IFNA 之類的函式
近似比對預設就是完全一樣不填 FALSE 就是近似比對

我個人現在新寫的都是 XLOOKUP,不用數欄號,插入一欄也不會讓欄號跑掉。不過接手別人的檔案時,VLOOKUP 還是會遇到,看得懂就夠了,不需要特地全部改掉。

練習

1

查蘋果綠茶的單價

用 A2:C6 的菜單,直接以文字 "蘋果綠茶" 當查找值,查出它的單價。如果查不到,要顯示「查無此品項」。要怎麼寫?

小測驗

XLOOKUP 與 VLOOKUP

0 / 2 題已完成
1

公式裡最後那個「查無」,是在什麼時候顯示?

1 / 2

想知道不是完全一樣的比對、從最後一筆往回找,或是一次帶回好幾欄,可以接著看 XLOOKUP 進階陷阱;要兩個條件同時符合才查,看 XLOOKUP 兩個條件一起找。想看實際的任務,像是訂單補價格、兩張表對照、查不到的處理,可以看 訂單補價格與兩張表對照。

我是喜特先生,Mr. Sheet,我們下個教學見!

這個步驟如果每週都要重做

現在
每天手動複製訂單編號,再到價目表用 XLOOKUP 一筆一筆查價格
自動化後
訂單進來就自動查價、算出金額,異常的品名標紅並寄通知給你
有類似需求,可以來信聊聊
分享:
喜特先生 Mr. Sheet

喜特先生 Mr. Sheet

數據分析師/商業分析師

八年工作經驗,跨不同業界解決數據需求。做過的案例都整理在作品集。

接下來可以

這篇在技能樹的 Lv.2「進階分析」,模組「查找對應的資訊」(第 1/2 篇)。

回到技能樹

相關文章

查看所有文章

留言討論

共 0 則留言

訂閱電子報,新文章上線就通知你

免費,隨時可取消。

送出即表示同意服務條款與隱私權政策。