Excel常用78个函数-37,38 FIND,SEARCH函数今天我们聊的角色,像是文本世界里的“雷达探测器”。给定一段文字,你想知道里面有没有某个关键词?它在第几个位置?这两个函数——FIND和SEARCH——就是干这个的。它们不改变文本内容,只负责“定位”。用法极度相似,但有一个非常关键的区别,FIND函数特别较真,一是一,、二是二,从不马虎。而SEARCH函数,则像个马大哈,差不多就行。都是一个妈生的,差距咋就这么大呢!第一个FIND函数:大小写敏感的“精密雷达”FIND的语法 =FIND(要查找的字符, 被查找的文本, [从第几位开始])。第三个参数可选,默认为1。它返回的是查找字符在文本中第一次出现的位置序号(从1开始数)。如果找不到,就返回#VALUE! 错误。举个例子,单元格A2内容是“Excel函数-FIND”。你想知道“F”在第几个字符,写 =FIND("F", A2),结果返回9,字符序列:E(1),x(2),c(3),e(4),l(5),函(6),数(7),-(8),F(9),I(10),N(11),D(12)。所以F在第9位。这种函数常用于结合MID等截取文本。FIND最核心的特性:区分大小写。它把“F”和“f”当成不同的字符。=FIND("f", A2) 会返回错误,因为原文中的“F”是大写。同时,FIND不支持通配符(*和?),它只认精确的字符匹配。你可以把它想象成一台高精度的金属探测器,设定要探测“黄金”,那就只认黄金,镀金的铜块它不认。适用场景:身份证号里找特定数字、代码里找特定的大小写标记、或者任何需要对大小写敏感的定位任务。第二个SEARCH函数:大小写不敏感的“宽泛雷达”SEARCH的语法和FIND完全一样语法:=SEARCH(要查找的字符, 被查找的文本, [开始位置])。它也返回位置序号。但它和FIND有两个重要区别:第一,SEARCH不区分大小写。=SEARCH("f", A2) 仍然能定位到大写的“F”,返回9。这在处理用户输入、英文文本时非常方便,因为你不用纠结对方到底是大写还是小写。第二,SEARCH支持通配符。问号“?”代表任意一个字符,星号“*”代表任意一串字符。比如,你有一列产品代码,格式类似“PRD-??”。用 =SEARCH("PRD-??", A2) 可以判断是否匹配该模式。注意,如果你想查找真正的问号或星号本身,需要在前面加波浪号“~”,即 ~? 或 ~*。SEARCH就像一台灵活的雷达,你告诉它“找一个人”,它不分男女老幼,只要是人形就给你反馈。你还可以用通配符说“找一个穿红衣服的”,它也能匹配。两者选择:什么时候用哪个?简单判断:如果你需要区分大小写,只能用FIND。如果你需要通配符匹配,只能用SEARCH。如果你两者都不需要,我个人倾向用SEARCH,因为它更宽容,不容易因为大小写问题报错。另外记住:两个函数都是从左往右查找,返回第一次出现的位置。它们无法直接从右往左找(那需要配合其他函数)。如果找不到目标字符串,都返回错误值,所以经常和ISERROR或IFERROR嵌套使用,比如 =IF(ISERROR(FIND("关键词", A2)), "不存在", "存在")。实战例子:提取邮箱的域名假设A2是“dayanjing10000@sina.com”,想提取“@”后面的“sina.com”。可以用:=MID(A2, FIND("@", A2)+1, LEN(A2)-FIND("@", A2))这里FIND和SEARCH效果一样,因为“@”不分大小写且没有通配符需求。假设你想知道一列地址里是否包含“Beijing”,但用户输入可能混杂大小写。SEARCH更合适:=IF(ISNUMBER(SEARCH("Beijing", A2)), "包含", "不包含")。与LEN、TRIM的配合清理完空格(TRIM)之后,用LEN量一下长度,再用SEARCH或FIND定位关键字符的位置,然后就可以用MID、LEFT、RIGHT来拆解文本了。它们四个(加上MID等)构成了Excel文本解析的完整工具箱。FIND和SEARCH就像一对双胞胎,长相一样,性格不同。记住那个关键区别:FIND敏感,SEARCH宽泛。根据你的实际场景,选那个最顺手的雷达。