本文介绍Microsoft Excel 中 SEARCH 函数的公式语法和用法。
说明
SEARCH 函数在第二个文本字符串中查找一个文本字符串,并返回第一个文本字符串从第二个文本字符串的第一个字符开始位置的编号。 例如,若要查找字母“n”在单词“printer”中的位置,可以使用以下函数:
=SEARCH("n","printer")
此函数会返回 4,因为“n”是单词“printer”的第四个字符。
也可以在一个单词中搜索另一个单词。 例如,以下函数:
=SEARCH("base","database")
会返回 5,因为单词“base”是从单词“database”的第五个字符开始的。 可以使用 SEARCH 来确定字符或文本字符串在另一个文本字符串中的位置,然后使用 MID 返回文本,或使用 REPLACE 更改文本。 本文中的示例 1 中演示了这些函数。
语法
SEARCH(find_text,within_text,[start_num])
SEARCH 函数具有以下参数:
- find_text 必填。 要查找的文本。
- within_text 必填。 要在其中搜索 find_text 参数值的文本。
- start_num 选。 要开始搜索 的 within_text 参数中的字符号。
备注
- SEARCH 函数不区分大小写。 如果要执行区分大小写的搜索,可以使用 FIND。
- 可以在 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 函数从第八个字符位置开始搜索操作,在下一个位置查找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 |
重要
- SEARCHB 函数已弃用。
- 在设置为 兼容性版本 2 的工作簿中,SEARCH 改进了代理项对的行为,将其计为一个字符而不是两个字符。 通常与表情符号) 一起使用 (变体选择器仍将计为单独的字符。 在此处阅读详细信息: Unicode 标准