30 天內 30 個 Excel 函數:搜索

昨天在馬拉松 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)))

發表評論