Excel SEARCH 與 SEARCHB 函數教學 ?
SEARCH 和 SEARCHB 函數都用來搜尋字串中的特定文字,並返回該文字在字串中首次出現的位置。它們的主要區別在於處理字節數和字符數的方式,特別是在處理雙字節字符集(DBCS)(如中文、日文、韓文等)時。
SEARCH 函數
功能
SEARCH 函數用來搜尋指定的字串,在另一個字串中查找並返回第一次出現的字符位置。這個函數不區分大小寫。
語法
SEARCH(搜尋字串, 被搜尋字串, [起始位置])
- 搜尋字串(必填):要查找的字串或字符。
- 被搜尋字串(必填):要搜尋的原始字串或儲存格。
- 起始位置(選填):開始搜尋的起始位置,預設為 1,表示從字串的開始位置搜尋。
返回值:返回指定字串在被搜尋字串中首次出現的位置(字符位置)。
範例
| A 列 | B 列(公式) | C 列(結果) | 說明 |
|---|---|---|---|
| apple | =SEARCH("p", A1) | 2 | 在 apple 中找到 p 的位置(第 2 個字符) |
| Hello World | =SEARCH("World", A2) | 7 | 在 Hello World 中找到 World 的位置(第 7 個字符) |
| Excel 2025 | =SEARCH("20", A3) | 7 | 在 Excel 2025 中找到 20 的位置(第 7 個字符) |
注意:
SEARCH函數不區分大小寫。- 如果搜尋的字串未找到,將返回
#VALUE!錯誤。
SEARCHB 函數
功能
SEARCHB 函數與 SEARCH 類似,但它是根據字節數來進行搜尋,而非字符數。這意味著它對於雙字節字符集(如中文、日文等)會按字節計算位置。
語法
SEARCHB(搜尋字串, 被搜尋字串, [起始位置])
- 搜尋字串(必填):要查找的字串或字符。
- 被搜尋字串(必填):要搜尋的原始字串或儲存格。
- 起始位置(選填):開始搜尋的起始位置,預設為 1,表示從字串的開始位置搜尋。
返回值:返回指定字串在被搜尋字串中首次出現的字節位置。
範例
| A 列 | B 列(公式) | C 列(結果) | 說明 |
|---|---|---|---|
| 你好世界 | =SEARCHB("世", A1) | 4 | 在 你好世界 中找到 世 的位置(第 4 個字節) |
| Excel 2025 | =SEARCHB("20", A2) | 14 | 在 Excel 2025 中找到 20 的位置(第 14 個字節) |
| 中文測試 | =SEARCHB("測", A3) | 6 | 在 中文測試 中找到 測 的位置(第 6 個字節) |
注意:
- 字節數是根據字符所佔的字節數來計算的。對於單字節字符(如英文字母),1 個字符佔 1 字節;對於雙字節字符(如中文),每個字符佔 2 字節。
SEARCHB函數通常用於處理含有**雙字節字符集(DBCS)**的文本。
SEARCH 與 SEARCHB 的區別
| 特性 | SEARCH | SEARCHB |
|---|---|---|
| 處理單位 | 按字符數計算位置 | 按字節數計算位置 |
| 使用情境 | 適用於英文等單字節字符集的文本 | 適用於含有雙字節字符集(如中文、日文等) |
| 區分大小寫 | 不區分大小寫 | 不區分大小寫 |
結論
SEARCH函數用於基於字符數查找字串,適用於大多數常規的文本處理,且不區分大小寫。SEARCHB函數基於字節數查找字串,特別適用於處理包含雙字節字符集(如中文、日文等)的文本。
兩者的區別在於字節和字符的處理方式,所以在處理非英文文本時,選擇使用 SEARCHB 會更合適。