QUERY 函式大解析(九):與儲存格連動

更新於 2024/04/06閱讀時間約 9 分鐘
如果你 WHERE 的條件需要常常更動,但每次都要進去 QUERY 所在的儲存格編輯語法,實在是有點太麻煩了?但如果你可以...
欸,這個好像很方便啊!!!(✪ω✪) 可以看到下面的 QUERY 結果隨著下拉式選單的內容改變了。感覺好像是個很高級的用法,但其實只要用「&」和儲存格串連,就可以讓 QUERY 跟儲存格互動。
我在方格子上寫了一系列使用 QUERY 的教學文章,也歡迎你來看看:
今天的內容會比較複雜一點點,如果有任何不確定的地方,歡迎在留言區提問!學會後相信你對 QUERY 的認識就會再更近一步了,實用性也會大增大增。我們馬上來看看吧!٩(。・ω・。)و

基本原理:&

不知道大家有沒有聽過「&」這個東西?「&」符號可以用來連接文字與文字。像是這樣:
="A" & "B"       --> AB
="1" & "2"       --> 12
="A123" & "B456" ---> A123B456
執行結果像是這樣:
我們當然也可以用 & 來連結儲存格的資訊,例如 A1 & B1、A2 & B2、A100 & Z100。來看看這張圖:
如果我們想要在 C1 結合 A1 的「小明:」和 B1 的「165 公分」、那就可以在 C1 打上:
= A1 & B1
就會出現:
那麼想要在 C2 出現「小玉:170 公分」的話,當然「A2 & B2」就可以囉!
既然我們可以用 & 來連結儲存格,那 QUERY 也其實可以! QUERY 的語法其實是一連串由雙引號「"」開始、打入語法、再由雙引號「"」結束的文字
那麼,我們先回到上面的例子:
執行出這段 QUERY 的語法其實是:
"SELECT... 
 WHERE 欄位字母 ... " & 下拉式選單所在的儲存格 & "
 剩下的 QUERY 語句"
看起來好像有點複雜,但可以這樣想像:
    "SELECT... WHERE 欄位字母 ... "
連接(&) 下拉式選單所在的儲存格
連接(&) "剩下的 QUERY 語句"
至於這串句子裡面的兩對雙引號,你可以看成兩層:
那麼 & 的連接其實就是:淡黃色的部分 + 儲存格 + 剩下的 QUERY 語句了。那來舉幾個語法的例子:
"SELECT A, B
 WHERE A & " B1 & "
 ORDER BY A DESC"
--
"SELECT * 
 WHERE A & " B1 & "
"
--
"SELECT A, SUM(B)
 WHERE A & " B1 & "
 GROUP BY A
"
這樣一來 QUERY 就會隨著 WHERE 之後儲存格的內容、去做搜尋囉!如果想要更方便使用,可以把那個儲存格變成資料驗證(下拉式選單),就像上面的動圖一樣可以快速切換資料了。當然不做下拉式選單也可以,直接在那個儲存格上面編輯也當然 OK。

資料格式

不過我們有時得因為儲存格的資料類型不同,得稍稍改變一下語法、也有些該注意的事情,接下來我們詳細講解一下。為了方便稱呼,我們接下來會把要互動的儲存格簡稱「互動格」 唷!

數字

如果你的互動格裡面是數字,其實語法比較單純,直接用兩個 & 串起來就好了:
=QUERY(資料, "SELECT ...
             WHERE A = " & 互動格 & "
             ..."
)

布林值(TRUE / FALSE)

布林值就是 TRUE 和 FALSE。另外一種會出現 TRUE 和 FALSE 的狀況就是有核取方塊的時候,預設值是 FALSE、打勾就是 TRUE。處理的語法和數字一樣,不需要特別處理:
=QUERY(資料, "SELECT ...
WHERE A = " & 互動格 & "
..."
)

擷取時間、日期

那如果今天互動格裡面是時間或日期,想要擷取裡面的資料(例如擷取「2022 年 5 月 25 日」裡面的年份、月份、日期,又或是擷取「16:30:19」裡面的小時數、分數、秒數),我們就要運用到之前學過的日期控制術!假如互動格裡面是我們想要查找的小時數:
=QUERY(資料, "SELECT ...
             WHERE hour(A) = " & 互動格 & "
             ...")
當然,如果是秒數,那就是:
=QUERY(資料, "SELECT ...
WHERE second(A) = " & 互動格 & "
...")
以此類推!

文字

再來文字的話會比較麻煩一點點,必須要在內部連結的雙引號前後多加一個單引號「'」,這是要告訴 QUERY 互動格是文字的資訊。可以回想一下,沒有互動格的狀況下,我們要用 WHERE 找含有文字條件時,也本來就需要用到單引號:
... WHERE A = '台灣' ...
... WHERE B contains '中文' ...
... WHERE C starts with '綠島' ...
這就是為什麼使用互動格時候得加上單引號的原因囉!語法就像這樣:
=QUERY(資料, "SELECT ...  
             WHERE A = '" & 互動格 & "'  ...")
你會注意到雙引號的前後各有一個單引號包著,他們是成雙成對的,別讓他們落單!

指定日期

最後再進階一點點的就是,如果你的互動格有日期,而你的 WHERE 條件想要和它互動。不過日期在 Google 試算表算是個比較特別的資料,所以就...要用特別的方式處理:
=QUERY(資料, "SELECT ...
             WHERE A = date '"
              & TEXT(互動格, "yyyy-mm-dd")
              & "' ...")
看看上面的語法,解釋一下原理吧!
  • date 語法:可以讓 QUERY 把 date 之後的文字轉換成日期格式。
  • 單引號「'」:將互動格的資訊視為文字。
  • TEXT(互動格, "yyyy-mm-dd"):將把互動格轉成「yyyy-mm-dd」的格式,QUERY 才能進一步解析。這邊的 yyyy-mm-dd 是固定的,不能以別種形式呈現、不然 QUERY 沒辦法辨識。
如果覺得這個語法不是很好寫,直接複製貼上這段也沒問題的!

換你做做看!

這次要用到的資料在下方的「資料表」,可以點開來瞧瞧:
再來請點選資料表「練習」,有準備給大家的練習題 ⬇️
這邊我準備了各式各樣的練習,讓大家可以試試看 QUERY 和儲存格的運用!會橫跨所有上面提到的資料格式。如果練習的時候卡住了,歡迎到「練習解答」的試算表對個答案,實際做做看應該會比只看這篇文章更有幫助。
如果你已經通關、還想要再延伸應用的話,想到幾個方向給大家參考:
  1. 搭配 IFS、核取方塊等等不同條件式,做出一個可以包含複數條件的搜尋引擎
  2. 一個下拉式選單延伸到多項 QUERY,更新一次互動格就可以更新全部的 QUERY
  3. 更多用法等你來發掘 👀!

如果你喜歡這次的文章,歡迎你透過這些方法支持我:
・按下愛心、按下儲存
・留言告訴我你的想法
・加入喜特先生的官方沙龍,即時看到我發布的教學
・付費訂閱喜特先生的官方沙龍,加入每月小額訂閱方案
・追蹤喜特先生的 Facebook
・按這邊小額贊助我的創作!
想要看更多文章,歡迎來到我的 Notion 頁面找找有沒有你需要的資源唷!
我是喜特先生,Mr. Sheet,我們下個教學見!
此篇文章會顯示動態置底廣告
為什麼會看到廣告
avatar-img
14.0K會員
147內容數
簡潔,快速,有效, 讓你的日常生活、工作生產力大提升! ___ 快按「加入」,馬上追蹤所有喜特先生的更新,有 Google 試算表教學、Google Apps Script 的研究、數據分析課程的開箱,還有 Google 試算表疑難雜症的解題分享唷!💪
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
喜特先生官方沙龍 的其他內容
連 Google QUERY 官方文件都沒寫的秘密,在這邊公開啦!如果你想提升處理大型資料庫的清理或分析效率,歡迎來參考「SKIPPING」!
日幣大貶,在想著是不是該換一下手上的新台幣了 ( ´・◡・`) ? GOOGLEFINANCE 帶你找到當日的匯率,還有更多功能等你發現唷!
不知不覺寫到第七篇了!QUERY 真的有好多好多東西可以說 (ノ>ω<)ノ QUERY 其實還能處理有日期、時間的資料,而且語法也相當容易,和我們之前就看過的聚集函式很像。你如果會了之前的聚集函式,相信這次處理日期和時間也會對你來說很簡單!
IMPORTRANGE 的即時更新很方便,語法也不長,是個很實用的函式。除了單純的匯入資料以外,還有什麼應用呢?有的!ㄧ一起看下去~
生命中總會有不得已,有幾個必須把函式寫得很長的時候,要怎麼寫才不容易出錯呢?
快速找到資料中最大的數字(最大值)和最小的數字(最小值),只要三秒鐘!或許比你想像中還要簡單!
連 Google QUERY 官方文件都沒寫的秘密,在這邊公開啦!如果你想提升處理大型資料庫的清理或分析效率,歡迎來參考「SKIPPING」!
日幣大貶,在想著是不是該換一下手上的新台幣了 ( ´・◡・`) ? GOOGLEFINANCE 帶你找到當日的匯率,還有更多功能等你發現唷!
不知不覺寫到第七篇了!QUERY 真的有好多好多東西可以說 (ノ>ω<)ノ QUERY 其實還能處理有日期、時間的資料,而且語法也相當容易,和我們之前就看過的聚集函式很像。你如果會了之前的聚集函式,相信這次處理日期和時間也會對你來說很簡單!
IMPORTRANGE 的即時更新很方便,語法也不長,是個很實用的函式。除了單純的匯入資料以外,還有什麼應用呢?有的!ㄧ一起看下去~
生命中總會有不得已,有幾個必須把函式寫得很長的時候,要怎麼寫才不容易出錯呢?
快速找到資料中最大的數字(最大值)和最小的數字(最小值),只要三秒鐘!或許比你想像中還要簡單!
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
條件資料行是POWER QUERY裡面一個可以設定指定條件,進而判斷符合條件的資料產生指定的內容,就跟EXCEL中的IF函數很像。 但是POWER QUERY的條件資料行,他是利用對話式的視窗,所以不需要自己動手寫函數,就可以順利達到相同的功能。 今天就用1個資料3個題目來學習這個功能
Thumbnail
日前在LINE社群,有網友提出一個問題,要把資料進行分析,用日期來計算出將對應的資料。 原始資料,密密麻麻的數據,都看不清楚了 放大一點點 要把這些資料不同『料號』的各種『狀態』依據『日期』進行分析。 有興趣可以下載試著挑戰看看:檔案下載 作法有很多種,當然也可以用函數處
Thumbnail
網友提問的一個問題,這個問題其實也蠻常見,資料中相同日期的項目全部合併到同一個儲存格中,來簡化資料的顯示。 這邊分享三種作法,通用的函數法、365函數法、POWER QUERY法 💡通用函數法 通用版本的函數需要輔助欄才可以達成這個需求 輔助欄C2=VLOOKUP(A2,A2:B10,
Media query可以很複雜,但是這裡KP只談最簡單、最實用的基礎。
Thumbnail
粉絲提問需求 儲存格中這一段字串:baseccy=usd,baseccyamoun=1300,type=short} 要如何把字串中1300的數字給抓出來,其實方式蠻多的,今天來介紹3種方式 第一種剖析法: 先將資料選取出來之後利用資料剖析,因為資料的規則數字是在=之後與逗號之前,所以可以先將逗號剖
Thumbnail
不得不說仁川機場的機場本體建築設計很有設計感,大韓航空跟韓亞航的主場都在仁川機場,尤其是大韓航空KOREAN AIR,在其官網上寫著韓國第一的航空公司,多麼自信的口號,讓人想像著充滿設計感的韓國第一的航空公司貴賓室應該有一些驚艷旅客的設計吧。實際上,到了貴賓室的感覺是驚嚇,因為好像來到東南亞的某個不
Thumbnail
如果你正在學習SQL,這邊介紹一個方便簡易的方式,不須透過安裝傳統的MySQL,只要利用Google提供的BigQuery開源示範dataset就可以實作練習,另一方面,如果你想應用自己手邊上的資料,也能簡單的使用匯入功能(如何匯入看這邊)。 輸入名稱「data-to-insights」。
Thumbnail
在【刁民國】一定要買房,不然就會變成「社會邊緣倫」,與財富重分配絕緣,而且你一定要買「會賺錢」的房子,那種拿來【遮風避雨】的房子,求求你千萬不要買,不如租房子,剩下錢出國旅遊,充實自己總比住在【財務地獄】好。 在這個【刁民寶島】,拿房地產來抵抗通貨膨脹?~就你腦袋進水信這套~有錢人當然為了賺大錢。
Thumbnail
又到了愉悅的蕾蕾週五影院 而且是連續假期的週五,真是太令人開心了👏🎉 週五電影-旅遊篇暫時告一段落 上週看完金鐘獎,決定要來開啟台灣篇 好好的介紹一下台灣優秀的影劇們 (Netflix前三都是韓片有點Sad🥲)   第一部就獻給本次得獎的大債時代。 Netflix 上面有哦  
Thumbnail
※劇透 這篇文章盡可能解析女主角昭容王妃、男主角哲宗皇帝以及男神張奉煥三人的角色關係與變化,內容較多還請大家耐心看完。情感的導師、扶持的戰友、陪伴的摯友、曖昧的情人、牽掛的靈魂,這些身分都是在《哲仁王后》中一位身兼多職的角色,沒錯,就是....
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
條件資料行是POWER QUERY裡面一個可以設定指定條件,進而判斷符合條件的資料產生指定的內容,就跟EXCEL中的IF函數很像。 但是POWER QUERY的條件資料行,他是利用對話式的視窗,所以不需要自己動手寫函數,就可以順利達到相同的功能。 今天就用1個資料3個題目來學習這個功能
Thumbnail
日前在LINE社群,有網友提出一個問題,要把資料進行分析,用日期來計算出將對應的資料。 原始資料,密密麻麻的數據,都看不清楚了 放大一點點 要把這些資料不同『料號』的各種『狀態』依據『日期』進行分析。 有興趣可以下載試著挑戰看看:檔案下載 作法有很多種,當然也可以用函數處
Thumbnail
網友提問的一個問題,這個問題其實也蠻常見,資料中相同日期的項目全部合併到同一個儲存格中,來簡化資料的顯示。 這邊分享三種作法,通用的函數法、365函數法、POWER QUERY法 💡通用函數法 通用版本的函數需要輔助欄才可以達成這個需求 輔助欄C2=VLOOKUP(A2,A2:B10,
Media query可以很複雜,但是這裡KP只談最簡單、最實用的基礎。
Thumbnail
粉絲提問需求 儲存格中這一段字串:baseccy=usd,baseccyamoun=1300,type=short} 要如何把字串中1300的數字給抓出來,其實方式蠻多的,今天來介紹3種方式 第一種剖析法: 先將資料選取出來之後利用資料剖析,因為資料的規則數字是在=之後與逗號之前,所以可以先將逗號剖
Thumbnail
不得不說仁川機場的機場本體建築設計很有設計感,大韓航空跟韓亞航的主場都在仁川機場,尤其是大韓航空KOREAN AIR,在其官網上寫著韓國第一的航空公司,多麼自信的口號,讓人想像著充滿設計感的韓國第一的航空公司貴賓室應該有一些驚艷旅客的設計吧。實際上,到了貴賓室的感覺是驚嚇,因為好像來到東南亞的某個不
Thumbnail
如果你正在學習SQL,這邊介紹一個方便簡易的方式,不須透過安裝傳統的MySQL,只要利用Google提供的BigQuery開源示範dataset就可以實作練習,另一方面,如果你想應用自己手邊上的資料,也能簡單的使用匯入功能(如何匯入看這邊)。 輸入名稱「data-to-insights」。
Thumbnail
在【刁民國】一定要買房,不然就會變成「社會邊緣倫」,與財富重分配絕緣,而且你一定要買「會賺錢」的房子,那種拿來【遮風避雨】的房子,求求你千萬不要買,不如租房子,剩下錢出國旅遊,充實自己總比住在【財務地獄】好。 在這個【刁民寶島】,拿房地產來抵抗通貨膨脹?~就你腦袋進水信這套~有錢人當然為了賺大錢。
Thumbnail
又到了愉悅的蕾蕾週五影院 而且是連續假期的週五,真是太令人開心了👏🎉 週五電影-旅遊篇暫時告一段落 上週看完金鐘獎,決定要來開啟台灣篇 好好的介紹一下台灣優秀的影劇們 (Netflix前三都是韓片有點Sad🥲)   第一部就獻給本次得獎的大債時代。 Netflix 上面有哦  
Thumbnail
※劇透 這篇文章盡可能解析女主角昭容王妃、男主角哲宗皇帝以及男神張奉煥三人的角色關係與變化,內容較多還請大家耐心看完。情感的導師、扶持的戰友、陪伴的摯友、曖昧的情人、牽掛的靈魂,這些身分都是在《哲仁王后》中一位身兼多職的角色,沒錯,就是....