本文說明了 Microsoft Excel 中 SEARCH 函式的公式語法及使用方式。
描述
SEARCH 功能會在第二個文字字串中定位一個文字字串,並從第二個文字字串的第一個字元回傳第一個文字字串的起始位置。 例如,若要找出字母 "n" 在單字 "printer" 中的位置,您可以使用下列函數:
=SEARCH("n","printer")
此函數會傳回 4,因為 "n" 在單字 "printer" 中位於第四個字元。
您也可以搜尋其他單字內的單字。 例如,
=SEARCH("base","database")
函數會傳回 5,因為單字 "base" 在單字 "database" 中是從第五個字元開始。 你可以用 SEARCH 來判斷字元或文字字串在另一個文字字串中的位置,然後用 MID 回傳文字,或用 REPLACE 來更改文字。 這些函數將在本文的範例 1 中說明。
語法
SEARCH(find_text,within_text,[start_num])
SEARCH 函數具有以下參數:
- find_text 必須。 這是要尋找的文字。
- within_text 必須。 你想搜尋 find_text 參數值的文本。
- start_num 可選的。 你想開始搜尋的 within_text 論元中的字元號碼。
註解
- 搜尋 功能不 區分大小寫。 如果你想做大小寫敏感搜尋,可以用 FIND。
- 你可以在find_text論點中使用萬用字元——問號 (?) 和星號 (*) ——在 論 證中。 問號可比對任一字元;星號可比對任一連續的字元。 如果你想找真正的問號或星號,請在字元前輸入波浪 (~) 。
- 如果找不到 find_text 的價值,#VALUE! 錯誤值。
- 若省略 start_num 論點,則假設為1。
- 如果 start_num 不大於 0 (0) 或大於 within_text 參數的長度,則 #VALUE! 錯誤值。
- 使用 start_num 跳過指定數量的字元。 以 SEARCH 函數為例,假設您正在文字字串 "AYF0093.YoungMensApparel" 中進行搜尋。 要找到描述性文字部分中第一個「Y」的位置,請將 start_num 設為 8,這樣在此情況下,文字的序號部分 (「AYF0093」) 就不會被搜尋。 SEARCH 函數從第八個字元位置開始搜尋操作,找到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 |
重要
- SEARCHB 函式已被棄用。
- 在設定為 相容性版本 2 的工作簿中,SEARCH 改善了替代配對的行為,將其視為一個字元而非兩個。 變體選擇器 (常用於表情符號) 仍會被視為獨立字元。 更多內容請見: Unicode 標準