文字處理基礎函式(三):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
留言分享你的想法!
avatar-img
喜特先生官方沙龍
21.2K會員
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
高效生活,幫助你找回更多自己的時間 歡迎來到 AL 的 Googlesheet 學習筆記系列文章。在這個系列中,我們將一步步介紹各種函數,並將它們應用於日常生活中,加速工作、提高效率。 今天要介紹的是使用 Index 、 Counta 函數尋找最後一列的資料!
Thumbnail
高效生活,幫助你找回更多自己的時間 歡迎來到 AL 的 Googlesheet 學習筆記系列文章。在這個系列中,我們將一步步介紹各種函數,並將它們應用於日常生活中,加速工作、提高效率。 今天要介紹的是使用 Index 、 Counta 函數尋找最後一列的資料!
Thumbnail
這邊統整了過往喜特先生發布過的「資料驗證」系列文! 資料驗證是個「驗證資料是否符合某條件的機制」,我們通常會用它來避免別人輸入無效的值,減少錯誤的發生。你可以按照順序慢慢學習,把資料驗證這功能一次搞懂!
Thumbnail
這邊統整了過往喜特先生發布過的「資料驗證」系列文! 資料驗證是個「驗證資料是否符合某條件的機制」,我們通常會用它來避免別人輸入無效的值,減少錯誤的發生。你可以按照順序慢慢學習,把資料驗證這功能一次搞懂!
Thumbnail
接著介紹可以尋找文字的函式:FIND 跟 SEARCH。這兩個函式都會回傳指定文字第一次出現的位置,而這位置會以數字表示。
Thumbnail
接著介紹可以尋找文字的函式:FIND 跟 SEARCH。這兩個函式都會回傳指定文字第一次出現的位置,而這位置會以數字表示。
Thumbnail
在 Google 試算表中,LEFT、MID、RIGHT 函式都是用來擷取文字字串中特定部分的函式。我想在這次的教學簡單介紹一下它們,歡迎來看看! LEFT:從左邊(開頭)取字串 我們可以用 LEFT 函式從字串的左邊(開頭)取指定字數的字串。 語法 =LEFT(字串, 要取的
Thumbnail
在 Google 試算表中,LEFT、MID、RIGHT 函式都是用來擷取文字字串中特定部分的函式。我想在這次的教學簡單介紹一下它們,歡迎來看看! LEFT:從左邊(開頭)取字串 我們可以用 LEFT 函式從字串的左邊(開頭)取指定字數的字串。 語法 =LEFT(字串, 要取的
Thumbnail
接下來喜特先生會介紹一系列關於文字處理時,會常常運用到的函式。我們這次先從比較簡單的 LEN、CHAR 和 REPT 開始,之後會陸續介紹其他的。如果你有什麼想要了解的函式,歡迎在下面留言告訴我! LEN:字元長度 我們可以用 LEN 函式取得儲存格或字元的長度。 語法相當簡單:
Thumbnail
接下來喜特先生會介紹一系列關於文字處理時,會常常運用到的函式。我們這次先從比較簡單的 LEN、CHAR 和 REPT 開始,之後會陸續介紹其他的。如果你有什麼想要了解的函式,歡迎在下面留言告訴我! LEN:字元長度 我們可以用 LEN 函式取得儲存格或字元的長度。 語法相當簡單:
Thumbnail
在用 QUERY 查詢資料時,你曾遇過在 WHERE 寫很多個 OR 的狀況嗎?有個更簡單好用的寫法推薦給你,來瞧瞧!
Thumbnail
在用 QUERY 查詢資料時,你曾遇過在 WHERE 寫很多個 OR 的狀況嗎?有個更簡單好用的寫法推薦給你,來瞧瞧!
Thumbnail
這邊統整了所有過去發表過關於 QUERY 函式的教學分享,希望可以方便你按照順序閱讀和練習。 QUERY 可以用來查詢、篩選、聚集、排序資料,還可以做張簡易的資料透視表,是我在 Google 試算表上做數據分析、製作報告、製作儀表板時最常用的函式之一,既方便又好用,誠心推薦!
Thumbnail
這邊統整了所有過去發表過關於 QUERY 函式的教學分享,希望可以方便你按照順序閱讀和練習。 QUERY 可以用來查詢、篩選、聚集、排序資料,還可以做張簡易的資料透視表,是我在 Google 試算表上做數據分析、製作報告、製作儀表板時最常用的函式之一,既方便又好用,誠心推薦!
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News