XLOOKUP,終於來了!

更新於 發佈於 閱讀時間約 14 分鐘

在今年的八月更新,除了已命名函式之外,Google 試算表還推出了 XLOOKUP 這個新函式。XLOOKUP 有 VLOOKUP 跟 HLOOKUP 的功能,讓你可以縱橫查表,在指定範圍內找符合項目,傳回一筆對應的結果。

有了 XLOOKUP,查表會更有彈性,讓你擺脫 VLOOKUP 跟 HLOOKUP 的一些限制,還能做更細緻的比對和搜尋。如果你已經是 VLOOKUP 的老手,也不妨試試看這個新函式,相信你會有不同的體驗;如果你還是試算表的新手,或許之後查表的時候,只需要用到 XLOOKUP 就好!

這邊列出 XLOOKUP 的幾個特點:

  • XLOOKUP 結合 VLOOKUP 跟 HLOOKUP,可以縱向查表、橫向查表。
  • 沒有在 VLOOKUP 裡「想找的欄位在關鍵字的左邊,無法查表」的限制、也沒有在 HLOOKUP 裡「想找的欄位在關鍵字的上面,無法查表」的限制。
  • 可以回傳一個儲存格、也可以回傳一列或一欄。如果你有傳回多列或多欄的需求,請考慮用 QUERY 或 FILTER。
  • 四種比對模式可以做更細緻的比對。
  • 四種搜尋模式可以做更彈性的搜尋。
  • 如果 XLOOKUP 沒找到值,可以指定一個結果顯示,像是「沒有符合項目」、「Not found」、或任何你想要指定的值。

今天也會附上示範檔案給大家參考,一起體驗看看 XLOOKUP 帶來的強大威力!


語法說明

=XLOOKUP(關鍵字, 搜尋範圍, 結果範圍, [找不到關鍵字時回傳的值], [比對模式], [搜尋模式])

其中 XLOOKUP 的關鍵字、搜尋範圍、結果範圍這三個參數是必須寫的,剩下的是選填,可以做更細緻的選項。來解釋一下!

  • 關鍵字:要搜尋的關鍵字。可以是儲存格或文字。例如:A2、B3、"喜特先生"。
    也可以搭配萬用字元搜尋,有「*」、「?」跟「~」這三個可用,等等介紹!
    例如:"台灣"、"??冰淇淋"、"*"&B3。
  • 搜尋範圍:關鍵字所在的範圍。從~到~,用「~:~」的格式呈現。
    這個範圍必須是單一的列或欄。
    例如:A1:A50(從 A1 到 A50)、B2:2(從 B2 到第 2 列的最後一欄)。
  • 結果範圍:結果所在的範圍。從~到~,用「~:~」的格式呈現。
    這個範圍也必須是單一的列或欄。
    例如:C1:C50(從 C1 到 C50)、D3:3(從 D3 到第 3 列的最後一欄)。
  • 找不到關鍵字時回傳的值:如果 XLOOKUP 查表時沒找到資料,回傳這個值。這個是選填的參數,不寫也沒關係。預設是回傳「#N/A」錯誤。
  • 比對模式:尋找關鍵字的比對模式,你可以用「0、1、-1、2」這四個數字告訴 XLOOKUP 你要的模式是什麼。這個也是選填,預設是「0」,分別代表:
 0:完全比對。
1:完全比對、或尋找大於關鍵字的最接近值。
-1:完全比對、或尋找小於關鍵字的最接近值。
2:使用萬用字元比對。如果你想啟用萬用字元搜尋,這邊要指定 2。


  • 搜尋模式:在搜尋範圍搜尋的模式,可以用「1、-1、2、-2」這四個數字告訴 XLOOKUP 你要的模式是什麼。這個也是選填,預設是「1」,分別代表:
 1:從第一個項目開始逐一搜尋到最後一個項目。
-1:從最後一個項目開始逐一搜尋到第一個項目。
2:用二分法搜尋整個已按遞增方式排序好的範圍
-2:用二分法搜尋整個已按遞減方式排序好的範圍

這邊二分法的兩個模式,受限在範圍得在有按遞增或遞減的方式排序的時候才能用,就執行效率上可能在大筆資料查表的時候是好一點點,但應用上我們幾乎遇不到排序好的表,且執行效率也不會跟一般的搜尋模式差非常多,所以我們通常就不會用這兩個模式了。

同時關於 XLOOKUP,有兩件事情要注意:

  • 搜尋範圍只能是單欄或單列,兩個以上的欄或列是不行的。
  • 結果範圍的欄數或列數,必須和搜尋範圍的欄數或列數相同。

舉例來說:

  • 搜尋範圍有 1 欄 10 列,那麼結果範圍就要有 10 列(但可以有很多欄)。
  • 搜尋範圍有 20 欄 1 列,那麼結果範圍就要有 20 欄(但可以有很多列)。

練習時間

歡迎打開這邊的試算表,複製一份,一起練習看看吧!

這是是一張電器批發商的出貨清單:

raw-image

我們來用 XLOOKUP 做各種各樣的搜尋吧!


1. 搜尋「訂單號碼」Order0001 的負責人是誰。

如果我們用 VLOOKUP 的想法做做看的話,可能就會發現這第一題就已經有詐了!因為訂單號碼在 G 欄,但負責人在 F 欄,訂單號碼在負責人左邊,這樣就不能用 VLOOKUP 了。

不過用 XLOOKUP 就可以解決這個問題。把剛剛的語法搬出來:

=XLOOKUP(關鍵字, 搜尋範圍, 結果範圍)
  • 關鍵字:"Order0001"。
  • 搜尋範圍:G:G,關鍵字在 G 欄。
  • 結果範圍:F:F,負責人在 F 欄。

那麼組合起來後就是:

=XLOOKUP("Order0001", G:G, F:F)
raw-image

來看看執行結果:

raw-image


2. 搜尋「項目」自動掀蓋垃圾桶的第一筆訂單資訊。

這次我們試試看用 XLOOKUP 回傳一整列資訊好了。一樣把語法搬出來,依序填入資料:

=XLOOKUP(關鍵字, 搜尋範圍, 結果範圍)
  • 關鍵字:"自動掀蓋垃圾桶"。
  • 搜尋範圍:B:B,項目在 B 欄。
  • 結果範圍:A:H,因為我們想得到整筆訂單資訊。

綜合起來,就會得到:

=XLOOKUP("自動掀蓋垃圾桶", B:B, A:H)
raw-image

結果:

raw-image


3. 搜尋「訂單號碼」Order9999 的客戶是誰。

再來我們多加一個條件,「如果找不到這筆資料時,那就回傳『無此訂單資料』」。這時就在 XLOOKUP 寫完結果範圍後,再多指定一個值就好。假設我們想找找 Order9999 這筆訂單號碼的客戶是誰:

=XLOOKUP(關鍵字, 搜尋範圍, 結果範圍, [找不到關鍵字時回傳的值])
  • 關鍵字:"Order9999"。
  • 搜尋範圍:G:G,項目在 G 欄。
  • 結果範圍:H:H,客戶在 H 欄。
  • 找不到關鍵字時回傳的值:"無此訂單資料"。

組合在一起:

=XLOOKUP("Order9999", G:G, H:H, "無此訂單資料")
raw-image

不出所料,在表格裡面沒有 Order9999 這筆訂單,所以就出現:

raw-image

這麼一來易讀性也會提高,就會馬上知道這筆資料不存在了。如果不設定這個的話,就會出現「#N/A」的錯誤。



4. 搜尋「總計」大於且最接近 7500 塊的第一筆訂單資訊。

我們再深入一點,試試看 XLOOKUP 的比對模式,一共有這幾個:

  • 0:完全比對。
  • 1:完全比對、或尋找大於關鍵字的最接近值。
  • -1:完全比對、或尋找小於關鍵字的最接近值。
  • 2:使用萬用字元比對。如果你想啟用萬用字元搜尋,這邊要指定 2。

不確定這些模式是怎麼運作的嗎?我們先看前三個模式好了。

打個比方,在搜尋範圍裡有 8500、8000、7000 這三個數字。我們如果:

  • 用 0 號模式找 7500 ... #N/A(或你定義的錯誤訊息)。
  • 用 1 號模式找大於且最接近 7500 的數字 ... 8000。
  • 用 -1 號模式找小於且最接近 7500 的數字 ... 7000。

回去看題目,我們想找總計(E 欄)大於且最接近 7500 塊的訂單,這時候就可以用 1 這個比對模式。一樣把語法搬出來,填空看看:

=XLOOKUP(關鍵字, 搜尋範圍, 結果範圍, [找不到關鍵字時回傳的值], [比對模式])
  • 關鍵字:7500。
  • 搜尋範圍:E:E,總計在 E 欄。
  • 結果範圍:A:H,因為我們想得到整筆訂單資訊。
  • 找不到關鍵字時回傳的值:可以跳過不填。
  • 比對模式:1。

組合起來:

=XLOOKUP(7500, E:E, A:H, , 1)
raw-image

結果:

raw-image

可以看到總計顯示 8000,比 7500 大,且是整筆資料裡面最接近 7500 的數字了。


5. 搜尋「日期」早於且最接近 2022/9/4 的第一筆訂單資訊。

再進階一點點!比對模式除了可以用在數字上,日期也是可以的。只要搭配 DATEVALUE 函式,把日期轉換成數字,就可以用比對模式來查找資料。

日期轉成數字後有個特性,就是日期越早、數字越小;日期越晚、數字越大。舉例來說 2022 年 1 月 1 號透過 DATVALUE 轉換後,就會變成 44562、2022 年 9 月 30 號則會變成 44834。9 月 30 號的比較晚,數字比較大、而 1 月 1 號比較早,數字也比較小。

了解這個特性後,我們來把語法搬過來寫寫看:

=XLOOKUP(關鍵字, 搜尋範圍, 結果範圍, [找不到關鍵字時回傳的值], [比對模式])
  • 關鍵字:DATEVALUE("2022/9/4")。
  • 搜尋範圍:A:A,日期在 A 欄。
  • 結果範圍:A:H,因為我們想要回傳整筆訂單資訊。
  • 找不到關鍵字時回傳的值:可以跳過不填。
  • 比對模式:-1,想找比關鍵字(2022/9/4)更早的日期,尋找小於關鍵字的最接近值。

組合起來:

=XLOOKUP(DATEVALUE("2022/9/4"), A:A, A:H, , -1)
raw-image

結果:

raw-image


6. 搜尋「訂單號碼」是 Order001... 開頭第一筆訂單資訊。

再來看看最後一個比對模式,就是使用萬用字元做模糊查詢。這特別是在你不確定關鍵字是什麼的時候,幫助到你的好方法!

萬用字元有「*」、「?」跟「~」這三個:

  • 「*」:不確定的字元數有 0 個或無數個。

例如關鍵字寫了「椰果*」,搜尋結果可能會出現「椰果」、「椰果紅茶」、「椰果奶茶」、「椰果紅茶去冰微糖」等文字。

  • 「?」:不確定的字元數有 1 個,可重複使用。

例如關鍵字寫了「椰果??」,會出現「椰果紅茶」、「椰果奶茶」,但不會出現「椰果紅茶去冰微糖」,因為這超過指定的 2 個字元。

  • 「~」:想搜尋星號(*)或是問號(?)這些字、而不是當成萬用字元使用的時候,可以放「~」在前面。

例如關鍵字寫了「~*喜特先生*」,會出現「*喜特先生」、「*喜特先生的試算表教學」。

以這次的題目來說,我們想要找「Order001」開頭的第一筆訂單資料,那麼關鍵字就是「Order001*」了。你如果確定 001 後面只會有一個字元,你也可以下「Order001?」。

再把語法搬出來,填入看看:

=XLOOKUP(關鍵字, 搜尋範圍, 結果範圍, [找不到關鍵字時回傳的值], [比對模式])
  • 關鍵字:"Order001*"。
  • 搜尋範圍:G:G,訂單在 G 欄。
  • 結果範圍:A:H,因為我們想要回傳整筆訂單資訊。
  • 找不到關鍵字時回傳的值:可以跳過不填。
  • 比對模式:2,啟用萬用字元搜尋模式。

組合起來:

=XLOOKUP("Order001*", G:G, A:H, , 2)
raw-image

結果:

raw-image


7. 搜尋「項目」折疊式檯燈的最新一筆訂單資訊。

最後,來試試搜尋模式!所謂的「搜尋模式」,就是指定 XLOOKUP 該先從第一個項目開始往最後一個項目找、還是先從最後一個項目開始往第一個項目找。

拿 VLOOKUP 來打比方,它的搜尋模式是先由上方的第一個項目到下方最後一個項目,找到關鍵字後、按照索引傳回結果,而這也是 XLOOKUP 的預設 1 號模式。但如果你有先從最後一個項目往回找的需求,XLOOKUP 也可以辦得到,也就是 -1 號模式。

在剛剛的這張表,你會發現日期最舊的訂單在上面、最新的訂單在下面:

raw-image

我們就可以試著用搜尋模式,搜尋「項目」折疊式檯燈的最新一筆(也就是日期最晚的那筆)訂單資訊。我們用 -1 號模式,讓 XLOOKUP 優先找到最新的資訊後就傳回結果。上語法~

=XLOOKUP(關鍵字, 搜尋範圍, 結果範圍, [找不到關鍵字時回傳的值], [比對模式], [搜尋模式])
  • 關鍵字:"折疊式檯燈"。
  • 搜尋範圍:B:B,項目在 B 欄。
  • 結果範圍:A:H,因為我們想要回傳整筆訂單資訊。
  • 找不到關鍵字時回傳的值:可以跳過不填。
  • 比對模式:不適用,可以跳過不填。
  • 搜尋模式:-1,想要讓 XLOOKUP 從最後一個項目往回找,也就是由下往上找。

組合在一起:

=XLOOKUP("折疊式檯燈", B:B, A:H, , , -1)
raw-image

來看看結果:

raw-image



如果你一路跟著我的解說搭配試算表練習、看到這邊,你真的非常認真,給你一個大大的鼓勵,辛苦了!

比起舊的 VLOOKUP 和 HLOOKUP,我覺得 XLOOKUP 更彈性,可以擺脫以往由左至右、由上至下的搜尋模式,也可以由右至左、由下至上、交叉查表也沒問題,一次傳回一個陣列也是個很驚艷的功能。

如果你喜歡這次的文章,歡迎你透過這些方法支持我:
・按下愛心、按下儲存
・留言告訴我你的想法
・加入喜特先生的官方沙龍,即時看到我發布的教學
・付費訂閱喜特先生的官方沙龍,加入每月小額訂閱方案
・追蹤喜特先生的 Facebook
・按這邊小額贊助我的創作!

想要看更多文章,歡迎來到我的 Notion 頁面找找有沒有你需要的資源喔!

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



留言
avatar-img
留言分享你的想法!
Ruby-avatar-img
2025/01/08
感謝教學~😍
喜特先生 Mr. Sheet -avatar-img
發文者
2025/01/08
Ruby 感謝支持!🍻
喜特先生 Mr. Sheet -avatar-img
發文者
2024/03/19
問了 Gemini 知不知道喜特先生的結果⋯⋯提及了這篇文章,趕快過去看看吧!
avatar-img
喜特先生官方沙龍
18.1K會員
152內容數
簡潔,快速,有效, 讓你的日常生活、工作生產力大提升! ___ 快按「加入」,馬上追蹤所有喜特先生的更新,有 Google 試算表教學、Google Apps Script 的研究、數據分析課程的開箱,還有 Google 試算表疑難雜症的解題分享唷!💪
2025/04/20
請你試著在 Google 試算表的儲存格上打這個,按下 Enter: =WHATTHEFOXSAY() 會有神奇的事情發生喔 ✨
Thumbnail
2025/04/20
請你試著在 Google 試算表的儲存格上打這個,按下 Enter: =WHATTHEFOXSAY() 會有神奇的事情發生喔 ✨
Thumbnail
2024/06/02
上次介紹了 REPLACE 函式,可以用來取代儲存格內的特定文字。其實我們還有一個相似的函式叫 SUBSTITUTE,也有取代的功能,不過當然有一點不一樣的地方!今天會分享語法的範例,還有跟 REPLACE 的差異在哪。一起來看看!
Thumbnail
2024/06/02
上次介紹了 REPLACE 函式,可以用來取代儲存格內的特定文字。其實我們還有一個相似的函式叫 SUBSTITUTE,也有取代的功能,不過當然有一點不一樣的地方!今天會分享語法的範例,還有跟 REPLACE 的差異在哪。一起來看看!
Thumbnail
2024/05/25
這是文字處理基礎函式的第四篇文章,今天要來介紹 REPLACE 函式! REPLACE 可以取代掉儲存格內的文字,今天會分享一下它語法怎麼寫、也有兩個實際應用的案例。一起來看看! REPLACE 語法 REPLACE 的語法長了一點點,有四個參數要設定: =REPLACE(要取代
Thumbnail
2024/05/25
這是文字處理基礎函式的第四篇文章,今天要來介紹 REPLACE 函式! REPLACE 可以取代掉儲存格內的文字,今天會分享一下它語法怎麼寫、也有兩個實際應用的案例。一起來看看! REPLACE 語法 REPLACE 的語法長了一點點,有四個參數要設定: =REPLACE(要取代
Thumbnail
看更多
你可能也想看
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
本文深入探討 Google Sheet 和 Excel 中的 VLOOKUP 公式,包括其定義、使用範圍、公式組成及應用情境。此外,本文也提到 VLOOKUP 的限制以及相關公式如 HLOOKUP 和 INDEX 與 MATCH 的介紹,幫助讀者有效利用查找功能,以提升工作效率。
Thumbnail
本文深入探討 Google Sheet 和 Excel 中的 VLOOKUP 公式,包括其定義、使用範圍、公式組成及應用情境。此外,本文也提到 VLOOKUP 的限制以及相關公式如 HLOOKUP 和 INDEX 與 MATCH 的介紹,幫助讀者有效利用查找功能,以提升工作效率。
Thumbnail
進入正題以前,想像以下兩個生活的情境: 手上拿者老婆交代要買的幾項物品進入大賣場,心中想著要怎麼找到這些物品的位置? 考試當天看著准考證上的號碼進入考場找尋我在那些教室?
Thumbnail
進入正題以前,想像以下兩個生活的情境: 手上拿者老婆交代要買的幾項物品進入大賣場,心中想著要怎麼找到這些物品的位置? 考試當天看著准考證上的號碼進入考場找尋我在那些教室?
Thumbnail
在 Excel 中,VLOOKUP 函數是一個強大的工具,它可以幫助你快速找到並擷取特定值對應的相關資訊。這篇教學將向你展示如何使用 VLOOKUP 函數來搜索數據,並提供一個實際的範例。
Thumbnail
在 Excel 中,VLOOKUP 函數是一個強大的工具,它可以幫助你快速找到並擷取特定值對應的相關資訊。這篇教學將向你展示如何使用 VLOOKUP 函數來搜索數據,並提供一個實際的範例。
Thumbnail
處理大量Excel數據時,快速查找並修改特定數據是提高工作效率的必備技能。充分利用Excel的查找、替換與過濾功能,可以大幅節省查找特定數據的時間。這篇文章將詳細介紹如何使用這些功能,並列出實際操作步驟,讓大家能快速上手。學會這些技巧,可以輕鬆在海量數據中查找並修改你想要的資訊。
Thumbnail
處理大量Excel數據時,快速查找並修改特定數據是提高工作效率的必備技能。充分利用Excel的查找、替換與過濾功能,可以大幅節省查找特定數據的時間。這篇文章將詳細介紹如何使用這些功能,並列出實際操作步驟,讓大家能快速上手。學會這些技巧,可以輕鬆在海量數據中查找並修改你想要的資訊。
Thumbnail
檔案下截 Vlookup 用法及限制 先說明Vlookup其中一個用法,當在表格或區域中按行查找內容時,使用Vlookup根據對照的值的位置,取得同一列不同欄位的答案。 查看公式 其實每一個函數,都是一個填充的題目,而VLOOKUP有4個位置需要填充, =VLOOKUP(找尋的條件,在那表
Thumbnail
檔案下截 Vlookup 用法及限制 先說明Vlookup其中一個用法,當在表格或區域中按行查找內容時,使用Vlookup根據對照的值的位置,取得同一列不同欄位的答案。 查看公式 其實每一個函數,都是一個填充的題目,而VLOOKUP有4個位置需要填充, =VLOOKUP(找尋的條件,在那表
Thumbnail
Google 試算表還有一個花括號 { } 的參照方法,可以參照範圍。學會的話,對處理大量資料有很多好處!我們來看看怎麼用 { } 來處理吃資料吧。
Thumbnail
Google 試算表還有一個花括號 { } 的參照方法,可以參照範圍。學會的話,對處理大量資料有很多好處!我們來看看怎麼用 { } 來處理吃資料吧。
Thumbnail
那個 XLOOKUP 終於來了!XLOOKUP 結合 VLOOKUP 跟 HLOOKUP,讓你可以縱橫查表,超彈性,在指定範圍內找符合項目,傳回一筆對應的結果。一起看看怎麼做!
Thumbnail
那個 XLOOKUP 終於來了!XLOOKUP 結合 VLOOKUP 跟 HLOOKUP,讓你可以縱橫查表,超彈性,在指定範圍內找符合項目,傳回一筆對應的結果。一起看看怎麼做!
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News