SEARCH

公式说明

SEARCH 函数可在第二个文本字符串中查找第一个文本字符串,并返回第一个文本字符串的起始位置的编号,该编号从第二个文本字符串的第一个字符算起。

例如,若要查找字母“n”在单词“printer”中的位置,可以使用以下函数:

SEARCH("n","printer")

此函数会返回 4,因为“n”是单词“printer”的第四个字符。

也可以在一个单词中搜索另一个单词。 例如,以下函数:

SEARCH("base","database")

会返回 5,因为单词“base”是从单词“database”的第五个字符开始的。

使用 SEARCH 函数可以确定某个字符或文本字符串在另一个文本字符串中的位置,然后可使用 MID 和 MIDB 函数返回文本,或使用 REPLACE 和 REPLACEB 函数更改文本。 本文中的示例 1 中演示了这些函数。

公式语法

在结果列输入:SEARCH(find_text, within_text, [start_num])

SEARCH 函数具有下列参数:

  • find_text 必需。 要查找的文本。

  • within_text 必需。 要在其中搜索 find_text 参数的值的文本。

  • start_num 可选。 within_text 参数中从之开始搜索的字符编号。

备注

  • SEARCH 函数不区分大小写。 如果要执行区分大小写的搜索,可以使用 FIND 和 FINDB 函数。
  • 可以在 find_text 参数中使用通配符 (问号 (?) 和星号 (*)) 。
    • 问号匹配任意单个字符;星号匹配任意一串字符。 如果要查找实际的问号或星号,请在字符前键入波形符 (~)。
  • 如果省略了 start_num 参数,则假设其值为 1。
  • 可以使用 start_num 来跳过指定数目的字符。
    • 以 SEARCH 函数为例,假设要处理文本字符串“AYF0093.YoungMensApparel”。 若要在文本字符串的说明部分中查找第一个“Y”的位置,请将 start_num 设置为 8,这样就不会搜索文本的序列号部分(即本例中的“AYF0093”)。 SEARCH 函数从第 8 个字符开始,在下一个字符处查找在 find_text 参数中指定的字符,并返回数字 9。 SEARCH 函数总是返回从 within_text 参数的起始位置计算的字符的编号,如果 start_num 参数大于 1,则会计算跳过的字符。

使用示例

  1. 在EF2列中,查找字母"d"是几号位置,结果写入EF3列
EF3 = SEARCH("d", EF2)

search

  1. “margin”(要搜索的字符串位于单元格 "Profit Margin" 中)在“Profit Margin”(要搜索的字符串位于单元格 "A3" 中)中的位置。= 8
=SEARCH("Margin", "Profit Margin")
  1. 返回“Profit Margin”(单元格 "Profit Margin")中第一个空格字符后的前四个字符。= Marg
=MID("Profit Margin",SEARCH(" ","Profit Margin")+1,4)
  1. 单元格 "The ""boss"" is here." 中第一个双引号标记 (") 的位置。= 5
=SEARCH("""","The ""boss"" is here.")

公式注意事项

1. 在编辑公式时,无需输入“=”。

2. 公式输入需要使用半角字符,用全角字符会出现报错。

3. 公式计算支持数值型数据,不可使用百分数、分数、科学计数法、货币。

Last Updated:
Copyright© 2022 上海悉息信息科技有限公司
沪ICP备18009600号-4