SEARCH 與 SEARCHB 函數

本文將說明 Microsoft Excel 中 SEARCHSEARCHB 函數的公式語法及使用方式。

描述

SEARCHSEARCHB 函數會在某個文字字串內找到另一個文字字串,並傳回該文字字串在第一個文字字串中的起始位置。例如,若要找出字母 "n" 在單字 "printer" 中的位置,您可以使用下列函數:

=SEARCH("n","printer")

此函數會傳回 4,因為 "n" 在單字 "printer" 中位於第四個字元。

您也可以搜尋其他單字內的單字。例如,

=SEARCH("base","database")

函數會傳回 5,因為單字 "base" 在單字 "database" 中是從第五個字元開始。您可以使用 SEARCHSEARCHB 函數來判斷某個字元或文字字串在另一個文字字串中的位置,然後再使用 MIDMIDB 函數傳回文字,或使用 REPLACEREPLACEB 函數來變更文字。這些函數將在本文的範例 1 中說明。

重要: 

  • 部分語言可能無法使用這些函數。

  • 只有當 DBCS 語言設為預設語言時,SEARCHB 會將每個字元計算為 2 個位元組。在其他情況下,SEARCHB 的行為如同 SEARCH,會將每個字元計算為 1 個位元組。

支援 DBCS 的語言包括日文、簡體中文、繁體中文及韓文。

語法

SEARCH(find_text,within_text,[start_num])

SEARCHB(find_text,within_text,[start_num])

SEARCH 及 SEARCHB 函數具有下列引數:

  • find_text    必要。這是要尋找的文字。

  • within_text    必要。這是要在其中搜尋 find_text 引數值的文字。

  • start_num    選用。這是要在 within_text 引數中開始搜尋的字元數。

註解

  • SEARCHSEARCHB 函數不區分大小寫。若要在執行搜尋時區分大小寫,請使用 FINDFINDB

  • 您可以在 find_text 引數中使用萬用字元 (問號 (?) 及星號 (*))。問號可比對任一字元;星號可比對任一連續的字元。如果您要尋找實際的問號或星號,請在該字元前輸入波狀符號 (~)。

  • 如果找不到 find_text 的值,則會傳回 #VALUE! 錯誤值。

  • 如果省略 start_num 引數,則會假設其值為 1。

  • 如果 start_num 不大於 0 (零) 或大於 within_text 引數的長度,則會傳回 #VALUE! 錯誤值。

  • 使用 start_num 即可略過指定字元數。以 SEARCH 函數為例,假設您正在文字字串 "AYF0093.YoungMensApparel" 中進行搜尋。若要在文字字串的描述部分尋找第一個 "Y" 的位置,請將 start_num 設為 8,這樣就不會搜尋該文字的序號部分 (此例中為 "AYF0093")。SEARCH 函數會從第 8 個字元開始搜尋,於下一個位置找到 find_text 引數所指定的字元,然後傳回數字 9。SEARCH 函數一律會自 within_text 引數的開始位置算起,傳回字元位置,也就是如果 start_num 引數大於 1,同樣會計算略過的字元。

範例

請在下列表格中複製範例資料,再將之貼到新 Excel 工作表中的儲存格 A1。若要讓公式顯示結果,請選取公式,按 F2,然後再按 Enter。如有需要,您可以調整欄寬來查看所有資料。

資料

陳述式

Profit Margin

邊界

The "boss" is here.

公式

描述

結果

=SEARCH("e",A2,6)

儲存格 A2 內字串第一個 "e" 的位置,從第六個位置開始。

7

=SEARCH(A4,A3)

"margin" (要搜尋的字串位於儲存格 A4) 在 "Profit Margin" (要搜尋的儲存格為 A3) 內的位置。

8

=REPLACE(A3,SEARCH(A4,A3),6,"Amount")

在儲存格 A3 內第一個搜尋到 "Margin" 的位置上,以 "Amount" 取代 "Margin",然後使用字串 "Amount" 取代該字元及接下來的五個字元。

Profit Amount

=MID(A3,SEARCH(" ",A3)+1,4)

傳回 "Profit Margin" (儲存格 A3) 內第一個空白字元後的前四個字元。

Marg

=SEARCH("""",A5)

儲存格 A5 內第一個雙引號 (") 的位置。

5

=MID(A5,SEARCH("""",A5)+1,SEARCH("""",A5,SEARCH("""",A5)+1)-SEARCH("""",A5)-1)

只傳回儲存格 A5 中,以雙引號括住的文字。

boss

擴展您的技能
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×