昨天在馬拉松 30 天 30 個 Excel 函數 我們使用函數識別了錯誤的類型 錯誤類型 (錯誤類型)並確保它對於糾正 Excel 中的錯誤非常有用。
馬拉松第18天,我們將致力於功能的研究 搜索 (搜索)。 它在文本字符串中查找一個字符(或多個字符)並報告找到它的位置。 我們還將研究如何處理此函數引發錯誤的情況。
那麼,讓我們仔細看看函數的理論和實際例子 搜索 (搜索)。 如果您有一些使用此功能的技巧或示例,請在評論中分享。
功能 18:搜索
功能 搜索 (SEARCH) 在另一個文本字符串中搜索一個文本字符串,如果找到,報告它的位置。
如何使用搜索功能?
功能 搜索 (SEARCH) 在另一個文本字符串中搜索一個文本字符串。 她可以:
- 在另一個文本字符串中查找一個文本字符串(不區分大小寫)。
- 在搜索中使用通配符。
- 確定查看文本中的起始位置。
搜索語法
功能 搜索 (SEARCH) 具有以下語法:
SEARCH(find_text,within_text,[start_num])
ПОИСК(искомый_текст;текст_для_поиска;[нач_позиция])
- 查找文本 (search_text) 是您要查找的文本。
- inside_text (text_for_search) – 在其中執行搜索的文本字符串。
- 起始編號 (start_position) – 如果未指定,搜索將從第一個字符開始。
陷阱搜索 (SEARCH)
功能 搜索 (SEARCH) 將返回第一個匹配字符串的位置,不區分大小寫。 如果您需要區分大小寫的搜索,可以使用該功能 尋找 (查找),我們將在馬拉松稍後遇到 30 天 30 個 Excel 函數.
示例 1:在字符串中查找文本
使用功能 搜索 (搜索)在文本字符串中查找一些文本。 在此示例中,我們將在單元格 B5 中找到的文本字符串中查找單個字符(在單元格 B2 中鍵入)。
=SEARCH(B5,B2)
=ПОИСК(B5;B2)
如果找到文本,函數 搜索 (SEARCH) 將返回其第一個字符在文本字符串中的位置編號。 如果沒有找到,結果將是一條錯誤消息 #值! (#所以)。
如果結果是錯誤的,您可以使用該函數 錯誤 (IFERROR) 以便代替執行函數 搜索 (搜索)顯示相應的消息。 功能 錯誤 (IFERROR) 從 2007 版開始在 Excel 中引入。在早期版本中,使用 IF (IF) 連同 錯誤 (EOSHIBKA)。
=IFERROR(SEARCH(B5,B2),"Not Found")
=ЕСЛИОШИБКА(ПОИСК(B5;B2);"Not Found")
示例 2:在 SEARCH 中使用通配符
檢查返回結果的另一種方法 搜索 (搜索),對於錯誤 - 使用函數 編號 (編號)。 如果找到字符串,則結果 搜索 (SEARCH) 將是一個數字,這意味著一個函數 編號 (ISNUMBER) 將返回 TRUE。 如果找不到文本,則 搜索 (SEARCH) 將報告錯誤,並且 編號 (ISNUMBER) 將返回 FALSE。
在參數的值 查找文本 (search_text) 你可以使用通配符。 象徵 * (星號)替換任意數量的字符或不替換,並且 ? (問號)替換任何單個字符。
在我們的示例中,使用了通配符 *,因此將在街道名稱中找到短語 CENTRAL、CENTER 和 CENTER。
=ISNUMBER(SEARCH($E$2,B3))
=ЕЧИСЛО(ПОИСК($E$2;B3))
示例 3:確定搜索 (SEARCH) 的起始位置
如果我們在函數前面寫兩個減號(雙重否定) 編號 (ISNUMBER),它將返回值 1/0 而不是真/假(真/假)。 接下來,函數 和 單元格 E2 中的 (SUM) 將計算找到搜索文本的記錄總數。
在以下示例中,B 列顯示:
城市名稱 | 職業
我們的任務是查找包含在單元格 E1 中輸入的文本字符串的職業。 單元格 C2 中的公式為:
=--ISNUMBER(SEARCH($E$1,B2))
=--ЕЧИСЛО(ПОИСК($E$1;B2))
這個公式找到了包含“銀行”一詞的行,但在其中一個中,這個詞不是以專業名稱,而是以城市名稱。 這不適合我們!
每個城市名稱後跟一個符號 | (豎線),所以我們,使用函數 搜索 (搜索),我們可以找到這個字符的位置。 它的位置可以指定為參數的值 起始編號 (start_position) 在“main”函數中 搜索 (搜索)。 因此,搜索將忽略城市名稱。
現在,經過測試和更正的公式將只計算那些在專業名稱中包含“銀行”一詞的行:
=--ISNUMBER(SEARCH($E$1,B2,SEARCH("|",B2)))
=--ЕЧИСЛО(ПОИСК($E$1;B2;ПОИСК("|";B2)))