SEARCH
返回最先找到特定字符或文本字符串的位置的字符编号(从左向右算起)。搜索区分大小写。
语法
SEARCH(<find_text>, <within_text>, [start_num])
参数
项 | 定义 |
---|---|
find_text | 要查找的文本。 |
within_text | 要在其中搜索 find_text 的文本或包含文本的列。 |
start_num | (可选)要在 within_text 中开始搜索的字符位置。如果省略,则为 1。 |
属性值/返回值
第一个文本字符串在第二个文本字符串中从第一个字符算起的起始位置编号。
注释
通过使用此函数,您可以在第二个文本字符串中找到一个文本字符串,并且返回第一个字符串的起始位置。
您可以使用 SEARCH 函数确定一个字符或文本字符串在另一个文本字符串内的位置,然后使用 MID 函数返回文本,或者使用 REPLACE 函数更改文本。
如果在 within_text 中找不到 find_text,则该公式将返回错误。此行为与 Excel 类似,后者在找不到子字符串的情况下将返回 #VALUE。within_text 中的 Null 将在此上下文中解释为空字符串。
示例:在字符串内搜索
说明
下面的公式查找字母“n”在单词“printer”中的位置。
代码
=SEARCH("n","printer")
注释
该公式将返回 4,因为“n”是单词“printer”中的第四个字符。
示例:在列内搜索
说明
您可以使用列引用作为 SEARCH 的参数。下面的公式查找字符“-”(连字符)在列 [PostalCode] 中的位置。
代码
=SEARCH("-",[PostalCode])
注释
返回结果是一个数字列,指示连字符的索引位置。
示例:针对 SEARCH 的错误处理
说明
如果在源列的每一行中都找不到搜索字符串,则前面示例中的公式将失败。因此,下一个示例将说明如何将 IFERROR 与 SEARCH 函数一起使用,以便确保为每一行都返回有效结果。
下面的公式查找字符“-”在列中的位置,并且找不到该字符串则返回 -1。
代码
= IFERROR(SEARCH("-",[PostalCode]),-1)
注释
请注意,您用作错误输出的值的数据类型必须匹配非错误输出类型的数据类型。在此情况下,您提供在出现错误时要输出的数值,因为 SEARCH 将返回整数值。
但是,您还可以通过使用 BLANK() 作为 IFERROR 的第二个参数,返回空白(空字符串)。