EP05. “SEARCH Function SEARCH 函数”
🔒 登录后可标记已读- SEARCH 函数跟 FIND 函数很像,都是找子字符串的位置
- 差别是 SEARCH 不区分大小写,而且支持通配符(
?和*) - 前置知识建议先看过 EP04 的 FIND 函数
- 学完能理解两者该怎么选
重点内容
函数速查
| 函数 | 语法 | 用途 | 例子 |
|---|---|---|---|
| SEARCH | =SEARCH(find_text, within_text, [start_num]) | 不区分大小写找子串位置,支持通配符 | =SEARCH("soft","Microsoft") → 6 |
FIND 和 SEARCH 怎么选
| 函数 | 是否区分大小写 | 是否支持通配符 | 例子 |
|---|---|---|---|
| FIND | 区分 | 不支持 | =FIND("soft","Microsoft") |
| SEARCH | 不区分 | 支持 ?、* | =SEARCH("soft","Microsoft") |
基础用法
=SEARCH("soft","Microsoft"),在 "Microsoft" 里找 "soft",结果是 6。
不区分大小写
=SEARCH("excel","Microsoft Excel"),不管 "excel" 大小写怎么写都能匹配到 "Excel"——这是跟 FIND 函数最大的差别。
问号通配符(?)
? 代表任意一个字符。比如要找 "20" 加两位数字加某个后缀这种模式(像 "2020" 到 "2024" 这类年份格式),可以用 ? 占位匹配任意单一字符。
星号通配符(*)
* 代表任意数量(含 0 个)字符。比如要匹配 "Microsoft" 后面跟任意内容再跟 "2024" 的字符串,可以写成 "Microsoft*2024" 这种模式。
起始搜索位置
=SEARCH("o","Football"),默认从第 1 位开始找,结果是 5=SEARCH("o","Football",6),从第 6 位开始找 "o",结果是 7
学完你会
- ✅ 能用 SEARCH 找出子字符串的位置,且不受大小写影响
- ✅ 能用
?、*通配符做模糊位置匹配 - ✅ 能判断什么时候该用 FIND(需要区分大小写),什么时候该用 SEARCH
常见错误
- 该用不区分大小写查找的场景却用了 FIND,导致大小写不一致时找不到结果
- 通配符
?和*用反:?只匹配一个字符,*匹配任意多个字符,混用会导致匹配范围错误 - 文本里本身就含有
?或*这两个符号时,SEARCH 会把它们当通配符解析,而不是字面字符,需要用~转义
Sources
Blog / Website: