SEARCH 和 SEARCHB 函数可在第二个文本字符串中查找第一个文本字符串,并返回第一个文本字符串的起始位置的编号,该编号从第二个文本字符串的第一个字符算起。例如,若要查找字母“n”在单词“printer”中的位置,可以使用以下函数:
=SEARCH("n","printer")
此函数会返回4,因为“n”是单词“printer”的第四个字符。
也可以在一个单词中搜索另一个单词。例如,以下函数:
=SEARCH("base","database")
会返回5,因为单词“base”是从单词“database”的第五个字符开始的。使用SEARCH和SEARCHB函数可以确定某个字符或文本字符串在另一个文本字符串中的位置,然后可使用MID和MIDB函数返回文本,或使用REPLACE和REPLACEB函数更改文本。
这两个函数的语法为:
SEARCH(find_text,within_text,[start_num])
SEARCHB(find_text,within_text,[start_num])
▲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,则会计算跳过的字符。
示例:
假设A2为“Excel教程: www.office68.com ”,如图,则以下公式说明如下:
excel使用SEARCH和SEARCHB函数查询字符
=SEARCH("E",A2):查询“E”在A2中的位置,返回“1”
=SEARCH("e",A2):查询“e”在A2中的位置,返回“1”,可见不分大小写。
=SEARCH("E",A2,2):查询A2从第2个字符开始的“E”的位置,返回“4”
=SEARCHB("E",A2,2):查询A2从第2个字节开始的“E”的位置,返回“4”
=SEARCHB("E",A2,5):查询A2从第5个字节开始的“E”的位置,汉字“教程:”占双字节,返回“16”。
|