QUERY 函式大解析(十):怎麼處理有大小寫區別的資料

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

今天假設有個表格長這樣:

raw-image

我想找到居住地是「台北」的姓名資料,預計會得到前三列(章OO、謝OO、余OO)的值。可是,如果我們按照之前學的 WHERE 表達式,寫下:

=QUERY(資料!A:B, "SELECT A, B WHERE B = 'Taipei'")

你會得到的結果只會有一筆:

raw-image

這是因為 Google QUERY 會辨識字母的大小寫(case-sensitive),只會把符合「Taipei」這個拼寫規則的資料回傳給你,其他大小寫的組合就不會回傳了。

那如果我想要無視大小寫,把居住地是「Taipei」的資料都全部回傳回來,也就是含有任何大小拼寫可能的資料回傳回來:

  • Taipei
  • TAIPEI
  • taipei
  • TaIpEi
  • tAiPeI
  • ... 等 N 個排列組合

這樣的話要怎麼辦呢?把全部拼寫的可能性一個個列出來的確是可以,但是也太麻煩了:

WHERE B = 'TAIPEI' OR B = 'TAIPEi' OR B = 'TAIPeI' OR B = 'TAIpEI'...

除了再回頭把資料整理得更好一點,我還有什麼方法嗎?——有!今天想跟你分享怎麼無視字母大小寫,照樣能執行 WHERE 語法的妙招。

如果還不熟悉什麼是 SELECT 和 WHERE 的話,歡迎你回到 QUERY 函式大解析(二):WHERE 複習一下,再過來看看喔!

我在方格子上寫了一系列使用 QUERY 的教學文章,也歡迎你來看看:

QUERY 函式大解析,系列文索引


UPPER 大寫濾鏡、LOWER 小寫濾鏡

在之前的 QUERY 函式大解析(七):簡易日期時間控制術,我們提到了一種叫純量函式(Scalar Function)」的東西,簡單來說你可以把這個函式想像成一種濾鏡,把資料透過去濾鏡後就是另一種顏色或形狀。比如說:

  • 我有個資料叫 apple,用「大寫濾鏡」就可以把 apple 轉成 APPLE。
  • 我有個資料叫 TEA,用「小寫濾鏡」就可以把 TEA 變成 tea。
raw-image

那麼我們這次會用到的,就是這些濾鏡裡面的大寫濾鏡小寫濾鏡了,大寫的叫 UPPER()小寫的叫 LOWER()

使用的方法很簡單,只要在欄位字母放到括號裡面,就會轉換大小寫了。像是:

把回傳的 A 欄跟 B 欄轉換成大寫:
"SELECT UPPER(A), UPPER(B) ... "

把回傳的 A 欄跟 B 欄轉換成小寫:
"SELECT LOWER(A), LOWER(C) ... "

假如我們現在有這樣的資料:

raw-image

用 UPPER() 把 A2 以下所有的資料轉換成大寫的話:

raw-image

LOWER() 轉換成小寫,也是一樣的道理:

raw-image


解法:WHERE + 濾鏡

了解上面這兩個濾鏡的運作方法後,我們離答案就越來越近了!除了 SELECT,我們也當然可以把濾鏡放在 WHERE 語句裡面:

A 欄資料一律轉換成大寫後,
只要 A 欄任何資料符合「ABC」,就把所有資料回傳:
"SELECT * WHERE UPPER(A) = 'ABC' ..."

C 欄資料一律轉換成小寫後,只要符合「xyz」,
只要 C 欄任何資料符合「xyz」,就把所有資料回傳:
"SELECT * WHERE LOWER(C) = 'xyz' ..."

換句話說,在執行 QUERY 的時候,UPPER(A) 跟 LOWER(C) 會先把搜尋範圍內的資料先一律轉換成大小寫,再跟等號後面的文字比較。

那麼,回到我們的問題,要怎麼無視大小寫,取得「Taipei」的資料?

raw-image

我們用 UPPER 濾鏡把 B 欄的資料都轉成大寫,再讓它等於「TAIPEI」,問題是不是就解決了?來寫個語法看看:

=QUERY(資料!A:B, "SELECT A, B WHERE UPPER(B) = 'TAIPEI'")
raw-image

嗚喔喔喔喔,成功了!當然,如果你想要用 LOWER() 也可以,記得把後面的關鍵字也改成小寫「taipei」就好。另外經過實測後,發現幾件事:

1) WHERE 的其他搜尋方法也適用

這邊說的其他方法有 contains、starts with、ends with、match、like 這些,也都可以搭配剛剛提到的 UPPER() 和 LOWER() 的技巧。

例如,想找到含有「Taipei」的資料(例如台北跟新北,Taipei、New Taipei):

=QUERY(A:B, "SELECT * WHERE UPPER(B) contains 'TAIPEI'")

又或是以台(Tai)開頭的資料:

=QUERY(A:B, "SELECT * WHERE UPPER(B) starts with 'TAI'")

都可以成功篩選到資料的!

2) 其他有變音符號的字母(ä、ü、ö、è、ç、ž...)也適用。

3) 經實測有大小寫的字母系統都似乎可以用(拉丁字母、西里爾字母、希臘字母、科普特字母、亞美尼亞字母等),如果你發現其他文字有大小寫、卻不能用的話,歡迎跟我說!

我一樣把這次的教學試算表放在這裡,歡迎複製一份到你的雲端硬碟上,一起練習吧!


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

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

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



留言
avatar-img
留言分享你的想法!
喜特先生 Mr. Sheet -avatar-img
發文者
2024/01/30
QUERY 函式大解析,系列文索引提及了這篇文章,趕快過去看看吧!
avatar-img
喜特先生官方沙龍
20.0K會員
153內容數
簡潔,快速,有效, 讓你的日常生活、工作生產力大提升! ___ 快按「加入」,馬上追蹤所有喜特先生的更新,有 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
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
※ 什麼是WHERE? 使用 WHERE來設定條件,可以幫助我們縮小查詢結果的範圍,取得想要的結果。 ※ 語法: ※ 解析順序: From:先看是哪一張table→table裡面符合Where指定條件的record→再看Select指定的是那些欄位→再根據那個欄位進行排序。 ※ 使⽤⽅
Thumbnail
※ 什麼是WHERE? 使用 WHERE來設定條件,可以幫助我們縮小查詢結果的範圍,取得想要的結果。 ※ 語法: ※ 解析順序: From:先看是哪一張table→table裡面符合Where指定條件的record→再看Select指定的是那些欄位→再根據那個欄位進行排序。 ※ 使⽤⽅
Thumbnail
延伸 MATCHES「|」的 OR 字元應用,我們還可以讓它跟工作表內的範圍做連動,做出更彈性的 QUERY。一起來看看怎麼做吧!
Thumbnail
延伸 MATCHES「|」的 OR 字元應用,我們還可以讓它跟工作表內的範圍做連動,做出更彈性的 QUERY。一起來看看怎麼做吧!
Thumbnail
在用 QUERY 查詢資料時,你曾遇過在 WHERE 寫很多個 OR 的狀況嗎?有個更簡單好用的寫法推薦給你,來瞧瞧!
Thumbnail
在用 QUERY 查詢資料時,你曾遇過在 WHERE 寫很多個 OR 的狀況嗎?有個更簡單好用的寫法推薦給你,來瞧瞧!
Thumbnail
這邊統整了所有過去發表過關於 QUERY 函式的教學分享,希望可以方便你按照順序閱讀和練習。 QUERY 可以用來查詢、篩選、聚集、排序資料,還可以做張簡易的資料透視表,是我在 Google 試算表上做數據分析、製作報告、製作儀表板時最常用的函式之一,既方便又好用,誠心推薦!
Thumbnail
這邊統整了所有過去發表過關於 QUERY 函式的教學分享,希望可以方便你按照順序閱讀和練習。 QUERY 可以用來查詢、篩選、聚集、排序資料,還可以做張簡易的資料透視表,是我在 Google 試算表上做數據分析、製作報告、製作儀表板時最常用的函式之一,既方便又好用,誠心推薦!
Thumbnail
要怎麼無視大小寫,用 QUERY 抓取資料呢?方法其實很簡單,一起看下去吧!
Thumbnail
要怎麼無視大小寫,用 QUERY 抓取資料呢?方法其實很簡單,一起看下去吧!
Thumbnail
連 Google QUERY 官方文件都沒寫的秘密,在這邊公開啦!如果你想提升處理大型資料庫的清理或分析效率,歡迎來參考「SKIPPING」!
Thumbnail
連 Google QUERY 官方文件都沒寫的秘密,在這邊公開啦!如果你想提升處理大型資料庫的清理或分析效率,歡迎來參考「SKIPPING」!
Thumbnail
你知道 SELECT 除了回傳欄位、使用聚集函數外,還可以更進一步做加減乘除喔!這個系列是 QUERY 函式大解析的第六篇文章,如果還不知道什麼是 QUERY 的話,我還是很建議你從第一篇慢慢看、跟著我們的練習實際操作,就會更有概念囉~
Thumbnail
你知道 SELECT 除了回傳欄位、使用聚集函數外,還可以更進一步做加減乘除喔!這個系列是 QUERY 函式大解析的第六篇文章,如果還不知道什麼是 QUERY 的話,我還是很建議你從第一篇慢慢看、跟著我們的練習實際操作,就會更有概念囉~
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News