SEARCH、SEARCHB 函数
时间:2023-01-04 21:15:40
本文介绍MicrosoftExcel中SEARCH和SEARCHB函数的公式语法和用法。
说明SEARCH和SEARCHB函数可在第二个文本字符串中查找第一个文本字符串,并返回第一个文本字符串的起始位置的编号,该编号从第二个文本字符串的第一个字符算起。例如,若要查找字母“n”在单词“printer”中的位置,可以使用以下函数:
=SEARCH(“n”,”printer”)
此函数会返回4,因为“n”是单词“printer”的第四个字符。
也可以在一个单词中搜索另一个单词。例如,以下函数:
=SEARCH(“base”,”database”)
会返回5,因为单词“base”是从单词“database”的第五个字符开始的。使用SEARCH和SEARCHB函数可以确定某个字符或文本字符串在另一个文本字符串中的位置,然后可使用MID和MIDB函数返回文本,或使用REPLACE和REPLACEB函数更改文本。本文中的示例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参数中从之开始搜索的字符编号。
备注
SEARCH和SEARCHB函数不区分大小写。如果要执行区分大小写的搜索,可以使用FIND和FINDB函数。
可以在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
ProfitMargin
margin
The”boss”ishere.
公式
说明
结果
=SEARCH(“e”,A2,6)
单元格A2中的字符串中,从第6个位置起,第一个“e”的位置。
7
=SEARCH(A4,A3)
“margin”(要搜索的字符串位于单元格A4中)在“ProfitMargin”(要搜索的字符串位于单元格A3中)中的位置。
8
=REPLACE(A3,SEARCH(A4,A3),6,”Amount”)
首先在单元格A3中搜索“Margin”的位置,然后将该字符以及接下来的五个字符替换为字符串“Amount”,从而实现将“Margin”替换为“Amount”的目的。
ProfitAmount
=MID(A3,SEARCH(“”,A3)+1,4)
返回“ProfitMargin”(单元格A3)中第一个空格字符后的前四个字符。
Marg
=SEARCH(“”””,A5)
单元格A5中第一个双引号标记(“)的位置。
5
=MID(A5,SEARCH(“”””,A5)+1,SEARCH(“”””,A5,SEARCH(“”””,A5)+1)-SEARCH(“”””,A5)-1)
仅返回单元格A5中被双引号括起来的文本。
boss
数据 |
---|