FIND函数和SEARCH函数功能类似,都可以在指定文本字符串的特定位置开始查找特定的字符,并返回其第一次出现的位置。
语法结构
1、FIND函数
FIND(find_text,within_text,start_num)
通俗说法:Find(要查找的字符,字符所在的文本,从第几个字符开始查找)。
2、SEARCH函数
SEARCH(find_text,within_text,start_num)
通俗说法:SEARCH(要查找的字符,字符所在的文本,从第几个字符开始查找)
两个函数的第三个参数start_num都可以省略,省略时默认从字符所在文本的第一个字符开始查找。
区别解析
1、FIND函数区分大小写,SEARCH函数不区分。
示例:
我们想在下图工作表的A2单元格中查找字母"A"的位置。
选中B2单元格,输入公式=FIND("A",A2),FIND函数返回了字母"A"本身在文本中的位置编号"6";
选中C2单元格,输入公式=SEARCH("A",A2),SEARCH函数返回了"A"对应的小写字母a第一次在文本中出现的位置编号"1"。
即使两个函数参数一致,但是返回值不同。
2、FIND函数不支持通配符,SEARCH函数支持通配符。
示例:
我们想在下图工作表的A2单元格中查找前两个字符为"cd",由三个字符组成的字符串,并返回其第一次出现的位置编号。
选中B2单元格,输入公式=FIND("cd?",A2),FIND函数返回错误"#VALUE!";
选中C2单元格,输入公式=SEARCH("cd?",A2),SEARCH函数返回了"3"。
两个函数所用参数相同,但是返回结果不同。
小提示
- FIND函数严格区分字母大小写,且不支持通配符,要求搜索条件比较精确;SEARCH函数不分字母大小写,支持通配符,适合模糊匹配查找。
- 通配符“?”可以用来代表任意单个字符,一个“?”只能代表一个未知字符。如果要查找的内容中未知字符有多个,可以用相同个数的“?”来通配表示。