文字處理基礎函式(三):FIND / SEARCH

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

接著介紹可以尋找文字的函式:FINDSEARCH這兩個函式都會回傳指定文字第一次出現的位置,而這位置會以數字表示。

舉例,我想要找「喜特先生」這四個字是否出現在下方的文字裡:

想學習更多 Google 試算表的知識,歡迎來看喜特先生的沙龍!​

我就可以寫:

=FIND("喜特先生", "想學習更多 Google 試算表的知識,歡迎來看喜特先生的沙龍!​")

或是:

=SEARCH("喜特先生", "想學習更多 Google 試算表的知識,歡迎來看喜特先生的沙龍!​")

這兩者的結果都會回傳「25」,代表 FINDSEARCH 都找到了「喜特先生」,告訴你它出現在第 25 個字元。


FIND 跟 SEARCH 差在哪?

FINDSEARCH 的關鍵差異就在「區分字母大小寫與否」,FIND 區分、SEARCH 則不區分。

舉例來說,我想在下方這串字裡用 FINDSEARCH 找到「mr. sheet」:

Google Sheets Tutorial: Mr. Sheet

因為 FIND 會區分大小寫,以 FIND 找「mr. sheet」是否在上面的字串中會顯示錯誤,對 FIND 來說「mr. sheet」跟「Mr. Sheet」不同,有大小寫的差異

不過用 SEARCH 的話就找得到了,因為對 SEARCH 來說「mr. sheet」跟「Mr. Sheet」是一樣的,沒有大小寫的差異

當然,如果你要搜尋的字元是中文字、或是沒有大小寫差異的文字,選 FINDSEARCH 的結果都是一樣的喔。


另外開頭還提到「回傳指定文字第一次出現的位置」,這又是什麼意思?再看一個案例:

想學習更多 Google 試算表的知識,歡迎來看喜特先生的沙龍!​歡迎歡迎喔!

我想用 FIND 找「歡迎」這個字,結果出現「21」:

raw-image


這邊「21」指的是第一個「歡迎」位於第 21 個字元,但它還有兩個「歡迎」,而 FIND 沒有把它列入、用 SEARCH 函式也會是一樣的結果。那要讓 FINDSEARCH 找第二個「歡迎」在哪,又該怎麼做呢?還有什麼其他要注意的地方嗎?

接下來會說明 FINDSEARCH 的使用方法和一些例子,一起來看看吧!




FIND:找字串,區分大小寫

FIND 函式用來尋找某字串中,特定文字第一次出現的位置,會區分大小寫


語法

=FIND(要找的特定字串, 要找的文字, [從第 N 個字元開始找])
  • 要找的特定字串:這邊別忘了加上雙引號,代表「文字」的資料格式。
  • 要找的文字:這邊也要加上雙引號喔!
  • [從第 N 個字元開始找]:選填,可以設定 FIND 要從第 N 個字元開始找,預設是 1。

如果 FIND 沒找到關鍵字,就會回傳「#VALUE!」錯誤。

這邊提一下剛剛「Google Sheets Tutorial: Mr. Sheet」的例子,帶你了解 FIND 實際區分大小寫的狀況如何。

raw-image


這邊我想找 A2 是否含有「mr. sheet」這個詞,我就可以在 B2 寫:

=FIND("mr. sheet", A2)


結果顯示「#VALUE!」:

raw-image


這是因為以 FIND 找「mr. sheet」是否在上面的字串中就會顯示錯誤,因為對 FIND 來說「mr. sheet」跟「Mr. Sheet」不同,有大小寫的差異。




SEARCH:找字串,忽略大小寫

SEARCH 函式跟 FIND 函式一樣,可以讓在 Google 試算表中用來尋找某字串中,特定文字第一次出現的位置,但是不會區分大小寫


語法

=SEARCH(要找的特定字串, 要找的文字, [從第 N 個字元開始找])
  • 要找的特定字串:這邊別忘了加上雙引號,代表「文字」的資料格式。
  • 要找的文字:這邊也要加上雙引號喔!
  • [從第 N 個字元開始找]:選填,可以設定 SEARCH 要從第 N 個字元開始找,預設是 1。

如果 SEARCH 沒找到關鍵字,就會回傳「#VALUE!」錯誤。

沒錯,SEARCH 的語法跟 FIND 一樣!但因為它不會區分大小寫,SEARCH 的容錯程度比 FIND 高一點。




FIND 和 SEARCH 的應用場景

這邊會舉一些 FINDSEARCH 常用狀況!(不考慮大小寫的狀況,我都一律寫 FIND 唷)


檢查文字中是否包含特定字串

假如說我想要找一個清單裡,有沒有「茶」這個字:

raw-image


我就可以在 B2 這寫 FIND,先從 A2 找是否有「茶」這個字:

=FIND("茶", A2)
raw-image


這邊回傳了「4」,代表「茶」出現在 A2 的第 4 個字元。

我們這邊可以再搭配 IFISERROR,讓它回傳「否」跟「是」:

=IF(ISERROR(FIND("茶", A2)), "否", "是")

這邊的意思是,如果 FIND 的結果發生錯誤(也就是找不到的狀況下),就會回傳「否」,不然就回傳「是」。來看看結果:

資料來源:萬波島嶼紅茶專門店

資料來源:萬波島嶼紅茶專門店


然後把這個算式拉下來就完成了!

資料來源:萬波島嶼紅茶專門店

資料來源:萬波島嶼紅茶專門店




找第二個關鍵字在哪

我們來回顧一下開頭提到的「找第二個歡迎」:

raw-image


這邊試著找找看第二個「歡迎」在哪邊吧!

先用 FIND 找第一個「歡迎」在哪:

=FIND("歡迎", A2)
raw-image


結果出現「21」,是第一個「歡迎」的位置。

這裡就可以用 FINDSEARCH 的第三個參數,讓它們從指定位置開始往後找第二個「歡迎」。現在已經知道第一個「歡迎」在第 21 個字元,那麼只要讓 FIND 在第 22 個字元後找就行了!

所以我修改了一下這邊的算式:

=FIND("歡迎", A2, FIND("歡迎", A2) + 1)

這邊的第三個參數就再用 FIND 找一次、讓它回傳第一個「歡迎」的結果後,再加 1 就是了。

如果要找第三個、第四個、第 N 個呢?是可以用同樣的方式去找,但我不太推薦,因為算式會寫得很長。比如說我們要找第三個,就會變這樣:

=FIND("歡迎", A2, FIND("歡迎", A2, FIND("歡迎", A2) + 1) + 2)


所以我會搭配 CHARSUBSTITUTE 來做,比較好讀、也比較有彈性:

=FIND(CHAR(999), SUBSTITUTE(A2, "歡迎", CHAR(999), 3))

(不確定 SUBSTITUTE 是什麼的話,下一篇會寫喔!)




搭配 MID 函式,擷取字串的一部分

最後,我們還可以拿之前介紹的 MID 函式跟 FIND 搭配,讓它擷取指定字串的一部分。這也是個滿常見的應用場景!

我想取得這邊 Email 清單裡的帳號名,也就是「@」前面的字串:

raw-image


這邊就可以在 B2 寫:

=MID(A2, 1, FIND("@", A2) - 1)

這算式的意思是讓 MID 先從 A2 的第一個字開始取,之後用 FIND 找到「@」的所在位置後減 1,使它不包含「@」字本身。

來看看效果:

raw-image


這邊一樣把 B2 的算式拉下來,就取完囉!

raw-image




同場小加映:FINDB、SEARCHB

這兩個函式和之前提過的 LEFTMIDRIGHTLEN 一樣都有它的 B 版:

  • FINDB:以位元組為單位,尋找某字串中,特定文字第一次出現的位置,區分大小寫。
  • SEARCHB:以位元組為單位,尋找某字串中,特定文字第一次出現的位置,不區分大小寫。

舉個小例子,用 FINDFINDB 找「喜特先生」的所在位置:

raw-image


結果有點不一樣,對吧!這是因為 FIND 是「以字為單位」、而 FINDB 則是「以位元組為單位」,會把中文字(全形字元)當 2 個字來算,所以看起來比 FIND 更遠。

不過我個人幾乎不用 FINDBSEARCHB,畢竟用 FINDSEARCH 就可以解決大多數的狀況了。




最後最後,要提一下 FINDSEARCH 的缺點:沒那麼有彈性。

之前介紹 QUERY 的時候,在 LIKE 可以用底線(_)跟星號(*)做一些模糊搜尋,讓搜尋資料更有彈性一點,可惜 FINDSEARCH 沒辦法做這種操作。

而這個可以用常規表達式的相關函式來解決,讓找字這件事變得更輕鬆!之後喜特先生也會推出一系列的教學文,進一步介紹常規表達式是什麼,還有REGEXMATCHREGEXREPLACEREGEXEXTRACT 這三個函式怎麼使用。敬請期待啦!




最後畫重點!

  • FIND 函式與 SEARCH 函式都可用於尋找文字字串中指定字串的位置。
  • FIND 函式會區分大小寫,而 SEARCH 函式會忽略大小寫。




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

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

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

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



avatar-img
14.5K會員
148內容數
簡潔,快速,有效, 讓你的日常生活、工作生產力大提升! ___ 快按「加入」,馬上追蹤所有喜特先生的更新,有 Google 試算表教學、Google Apps Script 的研究、數據分析課程的開箱,還有 Google 試算表疑難雜症的解題分享唷!💪
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
喜特先生官方沙龍 的其他內容
在 Google 試算表中,LEFT、MID、RIGHT 函式都是用來擷取文字字串中特定部分的函式。我想在這次的教學簡單介紹一下它們,歡迎來看看! LEFT:從左邊(開頭)取字串 我們可以用 LEFT 函式從字串的左邊(開頭)取指定字數的字串。 語法 =LEFT(字串, 要取的
接下來喜特先生會介紹一系列關於文字處理時,會常常運用到的函式。我們這次先從比較簡單的 LEN、CHAR 和 REPT 開始,之後會陸續介紹其他的。如果你有什麼想要了解的函式,歡迎在下面留言告訴我! LEN:字元長度 我們可以用 LEN 函式取得儲存格或字元的長度。 語法相當簡單:
喜特先生發佈了一系列介紹 LAMBDA 的文章,我把它們都統整在這了!你可以從頭開始學習,也可以找你有興趣的函式開始學習唷。 LAMBDA 函式(一):基本原理 介紹了 Google 試算表在 2022 年推出的 LAMBDA 函式和其輔助函式,以及如何在試算表中使用它們。LAMBDA
再來介紹最後一個 LAMBDA 輔助函式,REDUCE!「reduce」這詞在中文的意思是「縮減」。在 Google 試算表上,REDUCE 會把範圍中的每個值套用指定的 LAMBDA 函式,把這函式的結果累計到一個累計值裡,最後回傳這個值,像是把一個範圍「縮~」成一個值。
接下來介紹 LAMBDA 函式的第四個輔助函式,SCAN! 「scan」在這邊可以翻成「掃描」,而 SCAN 的作用在於對範圍中的每個值進行「掃描」、累計運算,會回傳一個範圍,裡面的數字是每個計算步驟的中繼值;而它最常見的用法就是算「移動總計」(running total)。
Google 試算表有個叫做 SPARKLINE 的函式,可以讓你在一個儲存格內生成一張迷你圖表。我寫了一篇系列文提供了教學,歡迎來看看唷!
在 Google 試算表中,LEFT、MID、RIGHT 函式都是用來擷取文字字串中特定部分的函式。我想在這次的教學簡單介紹一下它們,歡迎來看看! LEFT:從左邊(開頭)取字串 我們可以用 LEFT 函式從字串的左邊(開頭)取指定字數的字串。 語法 =LEFT(字串, 要取的
接下來喜特先生會介紹一系列關於文字處理時,會常常運用到的函式。我們這次先從比較簡單的 LEN、CHAR 和 REPT 開始,之後會陸續介紹其他的。如果你有什麼想要了解的函式,歡迎在下面留言告訴我! LEN:字元長度 我們可以用 LEN 函式取得儲存格或字元的長度。 語法相當簡單:
喜特先生發佈了一系列介紹 LAMBDA 的文章,我把它們都統整在這了!你可以從頭開始學習,也可以找你有興趣的函式開始學習唷。 LAMBDA 函式(一):基本原理 介紹了 Google 試算表在 2022 年推出的 LAMBDA 函式和其輔助函式,以及如何在試算表中使用它們。LAMBDA
再來介紹最後一個 LAMBDA 輔助函式,REDUCE!「reduce」這詞在中文的意思是「縮減」。在 Google 試算表上,REDUCE 會把範圍中的每個值套用指定的 LAMBDA 函式,把這函式的結果累計到一個累計值裡,最後回傳這個值,像是把一個範圍「縮~」成一個值。
接下來介紹 LAMBDA 函式的第四個輔助函式,SCAN! 「scan」在這邊可以翻成「掃描」,而 SCAN 的作用在於對範圍中的每個值進行「掃描」、累計運算,會回傳一個範圍,裡面的數字是每個計算步驟的中繼值;而它最常見的用法就是算「移動總計」(running total)。
Google 試算表有個叫做 SPARKLINE 的函式,可以讓你在一個儲存格內生成一張迷你圖表。我寫了一篇系列文提供了教學,歡迎來看看唷!
你可能也想看
Google News 追蹤
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
追尋未知,追尋彼方。
不是找到了,就可以停止尋找 而是停止尋找時,我們才能真正的找到
Thumbnail
近期 Google 搜尋引擎API機密文件的外流事件,絕對是近期震撼數位行銷世界的一大頭條,其內容揭示了一些有關 Google 搜尋結果生成原理的重要細節。今天本男爵就來跟各位聊聊這其中獲得的寶貴洞察,或許會對您在設計網站內容時有一些不同的想法!
Thumbnail
高效生活,幫助你找回更多自己的時間 歡迎來到 AL 的 Googlesheet 學習筆記系列文章。在這個系列中,我們將一步步介紹各種函數,並將它們應用於日常生活中,加速工作、提高效率。 今天要介紹的是使用 Index 、 Counta 函數尋找最後一列的資料!
Thumbnail
SEO與關鍵字搜尋在Google搜尋引擎當道的現在是門顯學。聽著SEO專家講述著如何靠著關鍵字,順利寫好文案內容,甚至只需要掌握關鍵字的骨幹,再逆向生出肉(內容),即便在該領域知識著墨不多,也能不費工夫,就精準命中目標客群與增加被搜尋機會以提高能見度。
Thumbnail
搜尋意圖是用戶進行搜索時的目的,分為資訊性、商業、導航和交易意圖。瞭解搜尋意圖對於優化網站和創建有價值的內容非常重要,可以通過關鍵字研究、內容優化和了解目標受眾的需求來實現。
Thumbnail
魔鬼藏在二分搜尋裡!輸出值代表的意含、題意產生的邊界條件,寫完模板才是挑戰的開始 Orz
Thumbnail
今天紀錄的是因應工作需要而學習的小技能。 我想達到的目標:當欄位裡面出現「寄出」這個關鍵字的時候整欄變色,以辨別該項目的狀態。
Thumbnail
工欲善其事,必先找關鍵字分析工具:常見的關鍵字分析工具: Google Ads 關鍵字規劃工具、Ubersuggest、Ahrefs、Search Console 和 Google Trends …這些工具都是用於收集關鍵字數據和分析的工具,它們各自有不同的優點和缺點。以下是這些工具的比較:
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
追尋未知,追尋彼方。
不是找到了,就可以停止尋找 而是停止尋找時,我們才能真正的找到
Thumbnail
近期 Google 搜尋引擎API機密文件的外流事件,絕對是近期震撼數位行銷世界的一大頭條,其內容揭示了一些有關 Google 搜尋結果生成原理的重要細節。今天本男爵就來跟各位聊聊這其中獲得的寶貴洞察,或許會對您在設計網站內容時有一些不同的想法!
Thumbnail
高效生活,幫助你找回更多自己的時間 歡迎來到 AL 的 Googlesheet 學習筆記系列文章。在這個系列中,我們將一步步介紹各種函數,並將它們應用於日常生活中,加速工作、提高效率。 今天要介紹的是使用 Index 、 Counta 函數尋找最後一列的資料!
Thumbnail
SEO與關鍵字搜尋在Google搜尋引擎當道的現在是門顯學。聽著SEO專家講述著如何靠著關鍵字,順利寫好文案內容,甚至只需要掌握關鍵字的骨幹,再逆向生出肉(內容),即便在該領域知識著墨不多,也能不費工夫,就精準命中目標客群與增加被搜尋機會以提高能見度。
Thumbnail
搜尋意圖是用戶進行搜索時的目的,分為資訊性、商業、導航和交易意圖。瞭解搜尋意圖對於優化網站和創建有價值的內容非常重要,可以通過關鍵字研究、內容優化和了解目標受眾的需求來實現。
Thumbnail
魔鬼藏在二分搜尋裡!輸出值代表的意含、題意產生的邊界條件,寫完模板才是挑戰的開始 Orz
Thumbnail
今天紀錄的是因應工作需要而學習的小技能。 我想達到的目標:當欄位裡面出現「寄出」這個關鍵字的時候整欄變色,以辨別該項目的狀態。
Thumbnail
工欲善其事,必先找關鍵字分析工具:常見的關鍵字分析工具: Google Ads 關鍵字規劃工具、Ubersuggest、Ahrefs、Search Console 和 Google Trends …這些工具都是用於收集關鍵字數據和分析的工具,它們各自有不同的優點和缺點。以下是這些工具的比較: