Google Sheet – Search Function


Google Sheet 的 SEARCH 函數 用來在文字中搜尋子字串,並傳回子字串在文字中的起始位置(以字元計算,從左到右)。它不區分大小寫,因此比 FIND 函數 更靈活。


SEARCH 函數語法

=SEARCH(搜尋值, 文字, [起始位置])

參數說明

1. 搜尋值(search_for)

• 要搜尋的子字串,例如 “apple” 或 “123”。

2. 文字(text_to_search)

• 要搜尋的完整文字,例如 “I love apples”。

3. [起始位置(starting_at)](選填):

• 從哪個字元開始搜尋,預設為 1(從第一個字元開始)。


範例 2:指定起始位置

=SEARCH("a", "Banana", 3)
=4

搜尋值:”a”

文字:”Banana”

起始位置:3

結果:4,因為從第 3 個字元開始,”a” 在第 4 個字元。

範例 3:區分與不區分大小寫

SEARCH(不區分大小寫)

=SEARCH("apple", "I love APPLES")
=8


結果:傳回 8,因為 SEARCH 忽略大小寫。


FIND(區分大小寫)

=FIND("apple", "I love APPLES")


結果:傳回錯誤,因為 FIND 函數區分大小寫。

進階應用

範例 4:判斷文字是否包含子字串

使用 SEARCH 檢查文字是否包含特定子字串:

=IF(ISNUMBER(SEARCH("apple", A1)), "包含", "不包含")

SEARCH 函數:傳回子字串位置或錯誤。

ISNUMBER:檢查 SEARCH 是否傳回數值。

結果:如果 A1 包含 “apple”,傳回 “包含”。

範例 5:顯示子字串前的文字

從文字中找出特定子字串前的內容:

=LEFT(A1, SEARCH("-", A1) - 1)

• 假設 A1 是 “123-456″。

SEARCH:找到 “-” 的位置(第 4 位)。

LEFT:提取第 1 至第 3 個字元。

結果:”123″。

範例 6:顯示子字串後的文字

從文字中找出特定子字串後的內容:

=RIGHT(A1, LEN(A1) - SEARCH("-", A1))

• 假設 A1 是 “123-456″。

SEARCH:找到 “-” 的位置(第 4 位)。

LEN(A1):計算整段文字的長度。

RIGHT:提取從 “-” 之後的所有字元。

結果:”456″。


範例 7:搜尋多重關鍵字
檢查文字是否包含任一關鍵字:

=IF(OR(ISNUMBER(SEARCH("apple", A1)), ISNUMBER(SEARCH("banana", A1))), "包含", "不包含")


OR 函數:如果 A1 包含 “apple” 或 “banana”,傳回 “包含”。

錯誤處理

1. 如果 搜尋值 不存在,SEARCH 會傳回錯誤值 #VALUE!。

• 可使用 IFERROR 函數處理:

=IFERROR(SEARCH("apple", A1), "未找到")

2. 如果 起始位置 超出文字長度,SEARCH 也會傳回錯誤。

• 確保起始位置不大於文字長度。

常見問題

1. SEARCH 與 FIND 的差異

SEARCH:不區分大小寫。

FIND:區分大小寫。

2. SEARCH 適用於數字嗎?

• 是的,SEARCH 可以處理數字(例如 “123”)。

3. 多層的複雜應用

• SEARCH 可以搭配 LEFT、RIGHT、MID、IF 等函數處理複雜的文字操作。