QUERY 函式大解析(十三):MATCHES「|」用 TEXTJOIN 與範圍連動

更新 發佈閱讀 9 分鐘

這邊有個台灣的旅宿清單,有各個旅宿的資訊:

我想用 QUERY 找位於「高雄市、臺南市、屏東縣、臺東縣」的旅宿資訊。如果用 OR 來寫:

=QUERY(..., "SELECT ... WHERE A = '高雄市'
OR A = '臺南市'
OR A = '屏東縣'
OR A = '臺東縣'")

用上次介紹的 MATCHES|」來寫:

=QUERY(..., "SELECT ... WHERE A MATCHES '高雄市|臺南市|屏東縣|臺東縣'")


那麽如果我們希望 QUERY 能跟範圍內的資料連動,又要怎麼做呢?

像是下面這邊,我們想用 QUERY 找位於 G 欄的「高雄市、臺南市、屏東縣、臺東縣」旅宿資訊:

vocus|新世代的創作平台

要怎麼寫呢?如果要按照之前介紹過的 QUERY 函式大解析(九):與儲存格連動,用「&」串連的話:

=QUERY(..., "SELECT ... WHERE A = '" & G2 & "'
OR A = '" & G3 & "'
OR A = '" & G4 & "'
OR A = '" & G5 & "'")

但是這方法得一個個指定儲存格,且如果日後清單再繼續增加或減少的話,就得再編輯 OR,這方法有點不太理想。

那怎麼寫更好呢?可以用 WHEREMATCHES 搭配 TEXTJOIN 函式來寫。

今天來分享 MATCHES|」跟 TEXTJOIN 的另一個應用,讓你的 QUERY 可以更彈性,條件是一個範圍的資料也能迎刃而解。

歡迎來這邊複製一份練習用的試算表,一起來做做看!先打開「練習」工作表,你會看到 A 到 E 欄是等等要 QUERY 的地方, G 欄有縣市清單:

vocus|新世代的創作平台

這次會提到三個之前介紹過的概念,如果想要複習的話,也歡迎來這看看:




思路

我們的目標是做出這樣的 QUERY

=QUERY('台灣旅宿網旅宿清單'!A:L,
"SELECT C, A, B, K, L
WHERE A MATCHES '高雄市|臺南市|屏東縣|臺東縣'")

來看看那個 WHERE我們要試著把 MATCHES 後面的那串跟縣市清單連在一起,讓它成為「高雄市|臺南市|屏東縣|臺東縣」這樣的正規表達式咒語

怎麼做呢?先說結論,有兩個步驟:

  1. TEXTJOIN 函式,把縣市清單內的儲存格以「|」為連結字元串在一起,形成一個像是「a|b|c|d|...」的文字,即是正規表達式的「咒語」。
  2. & 字元與第一個步驟的結果連接,把它跟 MATCHES 接上。

這樣就可以讓 QUERY 跟範圍連動在一起了。


第一步:TEXTJOIN 函式

我們先在 H2 寫 TEXTJOIN 函式,把縣市清單串在一起看看吧。輸入:

=TEXTJOIN("|", TRUE, G2:G)
  • 串連字元:|
  • 忽略空白:是
  • 範圍:G2 到 G(整個 G2 以下的範圍)
vocus|新世代的創作平台

結果就順利顯示了我們要的正規表達式「咒語」:

vocus|新世代的創作平台

你可以在 G 欄的清單這邊加入新的縣市,看看 H2 的結果會不會跟著改變。我這邊加入了「花蓮縣」,H2 ​成功跟著連動了:

vocus|新世代的創作平台



第二步:用 & 字元跟 TEXTJOIN 結果連接,把它跟 MATCHES 接上

好,既然要讓 QUERY 可以跟儲存格互動,要出動 & 啦!我們在 A2,按照題目需求先完成前半段的 QUERY

=QUERY('台灣旅宿網旅宿清單'!A:L,
"SELECT C, A, B, K, L
WHERE A MATCHES
vocus|新世代的創作平台


因為等等要和 H2 的文字連結,我們要先起一個單引號「'」:

=QUERY('台灣旅宿網旅宿清單'!A:L,
"SELECT C, A, B, K, L
WHERE A MATCHES '

再來用雙引號「"」暫時先把目前的 QUERY 指令先關起來:

=QUERY('台灣旅宿網旅宿清單'!A:L,
"SELECT C, A, B, K, L
WHERE A MATCHES '"

然後我們用 & 字元,串連 H2:

=QUERY('台灣旅宿網旅宿清單'!A:L,
"SELECT C, A, B, K, L
WHERE A MATCHES '" & H2

再來寫第二個 &、準備繼續連接 QUERY 指令:

=QUERY('台灣旅宿網旅宿清單'!A:L,
"SELECT C, A, B, K, L
WHERE A MATCHES '" & H2 &

接著是雙引號「"」,準備把剩下的 QUERY 寫完:

=QUERY('台灣旅宿網旅宿清單'!A:L,
"SELECT C, A, B, K, L
WHERE A MATCHES '" & H2 & "

寫單引號「'」,讓 MATCHES 結束。

=QUERY('台灣旅宿網旅宿清單'!A:L,
"SELECT C, A, B, K, L
WHERE A MATCHES '" & H2 & "'

接下來我們還可以繼續寫其他的 QUERY 語句(ORDER BYLIMIT 等),舉例來說,按照 A 欄位做排序後再按 B 欄位排序:

=QUERY('台灣旅宿網旅宿清單'!A:L,
"SELECT C, A, B, K, L
WHERE A MATCHES '" & H2 & "'
ORDER BY A, B")

如果沒打算繼續寫的話,你可以寫上雙引號「"」讓 QUERY 語句結束:

=QUERY('台灣旅宿網旅宿清單'!A:L,
"SELECT C, A, B, K, L
WHERE A MATCHES '" & H2 & "'")

颯爽按下 Enter 鍵,看看結果:

vocus|新世代的創作平台

成功啦!你可以自由測試,把清單改成不同縣市,看看執行結果怎麼樣:

vocus|新世代的創作平台

當然你也可以一次把第一步跟第二步寫好,像這樣:

=QUERY('台灣旅宿網旅宿清單'!A:L,
"SELECT C, A, B, K, L
WHERE A MATCHES '" & TEXTJOIN("|", TRUE, G2:G) & "'")

結果也完全一樣的唷!


你可以考慮用這招,讓 TEXTJOIN 函式去取動態更新的範圍(像是 IMPORTRANGEQUERYFILTER 等),可以讓你的 QUERY 更有彈性喔!希望這招對你有幫助。



如果你喜歡這次的文章,歡迎你透過這些方法支持我:

  • 按下愛心、按下儲存
  • 留言告訴我你的想法
  • 加入喜特先生的官方沙龍,即時看到我發布的教學
  • 付費訂閱喜特先生的官方沙龍,加入每月小額訂閱方案
  • 追蹤喜特先生的 Facebook
  • 這邊小額贊助我的創作!

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

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


留言
avatar-img
喜特先生官方沙龍
21.1K會員
158內容數
簡潔,快速,有效, 讓你的日常生活、工作生產力大提升! ___ 快按「加入」,馬上追蹤所有喜特先生的更新,有 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
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
網友提出的一個問題,如影片。 當輸入關鍵字+數量,例:起司+10 下拉式選單自動產生有關起司的產品的清單供選擇並且帶出規格、數量、金額與小計 《為什麼要做這個功能呢?》 當資料很多的時候,如果每筆資料都是用篩選的方式來找出想要的產品,可能會耗掉非常多的時間。 所以如果可以藉由關鍵字,
Thumbnail
網友提出的一個問題,如影片。 當輸入關鍵字+數量,例:起司+10 下拉式選單自動產生有關起司的產品的清單供選擇並且帶出規格、數量、金額與小計 《為什麼要做這個功能呢?》 當資料很多的時候,如果每筆資料都是用篩選的方式來找出想要的產品,可能會耗掉非常多的時間。 所以如果可以藉由關鍵字,
Thumbnail
在用 QUERY 查詢資料時,你曾遇過在 WHERE 寫很多個 OR 的狀況嗎?有個更簡單好用的寫法推薦給你,來瞧瞧!
Thumbnail
在用 QUERY 查詢資料時,你曾遇過在 WHERE 寫很多個 OR 的狀況嗎?有個更簡單好用的寫法推薦給你,來瞧瞧!
Thumbnail
這邊統整了所有過去發表過關於 QUERY 函式的教學分享,希望可以方便你按照順序閱讀和練習。 QUERY 可以用來查詢、篩選、聚集、排序資料,還可以做張簡易的資料透視表,是我在 Google 試算表上做數據分析、製作報告、製作儀表板時最常用的函式之一,既方便又好用,誠心推薦!
Thumbnail
這邊統整了所有過去發表過關於 QUERY 函式的教學分享,希望可以方便你按照順序閱讀和練習。 QUERY 可以用來查詢、篩選、聚集、排序資料,還可以做張簡易的資料透視表,是我在 Google 試算表上做數據分析、製作報告、製作儀表板時最常用的函式之一,既方便又好用,誠心推薦!
Thumbnail
※ 何時該使用 JOIN? JOIN 使用的時機是:當你需要同時查詢一張以上的資料表的時候。 ※ SQL有哪些TABLE JOIN的方式? INNER JOIN LEFT JOIN RIGHT JOIN SELF JOIN ※ 使用 JOIN 的時候,我們需要考慮到: 我要使用哪一種
Thumbnail
※ 何時該使用 JOIN? JOIN 使用的時機是:當你需要同時查詢一張以上的資料表的時候。 ※ SQL有哪些TABLE JOIN的方式? INNER JOIN LEFT JOIN RIGHT JOIN SELF JOIN ※ 使用 JOIN 的時候,我們需要考慮到: 我要使用哪一種
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
日前在LINE社群,有網友提出一個問題,要把資料進行分析,用日期來計算出將對應的資料。 原始資料,密密麻麻的數據,都看不清楚了 放大一點點 要把這些資料不同『料號』的各種『狀態』依據『日期』進行分析。 有興趣可以下載試著挑戰看看:檔案下載 作法有很多種,當然也可以用函數處
Thumbnail
日前在LINE社群,有網友提出一個問題,要把資料進行分析,用日期來計算出將對應的資料。 原始資料,密密麻麻的數據,都看不清楚了 放大一點點 要把這些資料不同『料號』的各種『狀態』依據『日期』進行分析。 有興趣可以下載試著挑戰看看:檔案下載 作法有很多種,當然也可以用函數處
Thumbnail
※ 什麼是WHERE? 使用 WHERE來設定條件,可以幫助我們縮小查詢結果的範圍,取得想要的結果。 ※ 語法: ※ 解析順序: From:先看是哪一張table→table裡面符合Where指定條件的record→再看Select指定的是那些欄位→再根據那個欄位進行排序。 ※ 使⽤⽅
Thumbnail
※ 什麼是WHERE? 使用 WHERE來設定條件,可以幫助我們縮小查詢結果的範圍,取得想要的結果。 ※ 語法: ※ 解析順序: From:先看是哪一張table→table裡面符合Where指定條件的record→再看Select指定的是那些欄位→再根據那個欄位進行排序。 ※ 使⽤⽅
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
延伸 MATCHES「|」的 OR 字元應用,我們還可以讓它跟工作表內的範圍做連動,做出更彈性的 QUERY。一起來看看怎麼做吧!
Thumbnail
延伸 MATCHES「|」的 OR 字元應用,我們還可以讓它跟工作表內的範圍做連動,做出更彈性的 QUERY。一起來看看怎麼做吧!
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News