SEARCH、SEARCHB 函数

本文介绍 Microsoft Excel 中 SEARCHSEARCHB 函数的公式语法和用法。

说明

SEARCHSEARCHB 函数可在第二个文本字符串中查找第一个文本字符串,并返回第一个文本字符串的起始位置的编号,该编号从第二个文本字符串的第一个字符算起。例如,若要查找字母“n”在单词“printer”中的位置,可以使用以下函数:

=SEARCH("n","printer")

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

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

=SEARCH("base","database")

会返回 5,因为单词“base”是从单词“database”的第五个字符开始的。使用 SEARCHSEARCHB 函数可以确定某个字符或文本字符串在另一个文本字符串中的位置,然后可使用 MIDMIDB 函数返回文本,或使用 REPLACEREPLACEB 函数更改文本。本文中的示例 1 中演示了这些函数。

重要: 

  • 这些函数可能并不适用于所有语言。

  • 只有在将 DBCS 语言设置为默认语言时,函数 SEARCHB 才会将每个字符按 2 个字节计数。否则,函数 SEARCHB 的行为与 SEARCH 相同,即将每个字符按 1 个字节计数。

支持 DBCS 的语言包括日语、中文(简体)、中文(繁体)以及朝鲜语。

语法

SEARCH(find_text,within_text,[start_num])

SEARCHB(find_text,within_text,[start_num])

SEARCH 和 SEARCHB 函数具有下列参数:

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

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

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

备注

  • SEARCHSEARCHB 函数不区分大小写。如果要执行区分大小写的搜索,可以使用 FINDFINDB 函数。

  • 可以在 find_text 参数中使用通配符 (问号 (?) 和星号 (*)) 。问号匹配任意单个字符;星号匹配任意一串字符。如果要查找实际的问号或星号,请在字符前键入波形符 (~)。

  • 如果找不到 find_text 的值,则返回 错误值 #VALUE!。

  • 如果省略了 start_num 参数,则假设其值为 1。

  • 如果 start_num 不大于 0(零)或大于 within_text 参数的长度,则返回 错误值 #VALUE!。

  • 可以使用 start_num 来跳过指定数目的字符。以 SEARCH 函数为例,假设要处理文本字符串“AYF0093.YoungMensApparel”。若要在文本字符串的说明部分中查找第一个“Y”的位置,请将 start_num 设置为 8,这样就不会搜索文本的序列号部分(即本例中的“AYF0093”)。SEARCH 函数从第 8 个字符开始,在下一个字符处查找在 find_text 参数中指定的字符,并返回数字 9。SEARCH 函数总是返回从 within_text 参数的起始位置计算的字符的编号,如果 start_num 参数大于 1,则会计算跳过的字符。

示例

复制下表中的示例数据,然后将其粘贴进新的 Excel 工作表的 A1 单元格中。要使公式显示结果,请选中它们,按 F2,然后按 Enter。如果需要,可调整列宽以查看所有数据。

数据

Statements

Profit Margin

margin

The "boss" is here.

公式

说明

结果

=SEARCH("e",A2,6)

单元格 A2 中的字符串中,从第 6 个位置起,第一个“e”的位置。

7

=SEARCH(A4,A3)

“margin”(要搜索的字符串位于单元格 A4 中)在“Profit Margin”(要搜索的字符串位于单元格 A3 中)中的位置。

8

=REPLACE(A3,SEARCH(A4,A3),6,"Amount")

首先在单元格 A3 中搜索“Margin”的位置,然后将该字符以及接下来的五个字符替换为字符串“Amount”,从而实现将“Margin”替换为“Amount”的目的。

Profit Amount

=MID(A3,SEARCH(" ",A3)+1,4)

返回“Profit Margin”(单元格 A3)中第一个空格字符后的前四个字符。

Marg

=SEARCH("""",A5)

单元格 A5 中第一个双引号标记 (") 的位置。

5

=MID(A5,SEARCH("""",A5)+1,SEARCH("""",A5,SEARCH("""",A5)+1)-SEARCH("""",A5)-1)

仅返回单元格 A5 中被双引号括起来的文本。

boss

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×