EP06. “Contains Specific Text 判断是否包含特定文字”
🔒 登录后可标记已读- Excel 没有一个叫「CONTAINS」的函数
- 要判断单元格「是否包含」特定文字,得靠 SEARCH/FIND 搭配 ISNUMBER,或用 COUNTIF 的通配符
- 整理这几种做法,包含区分大小写和不区分大小写两种情况
- 前置知识是基本的 IF/COUNTIF 用法
- 学完能处理「关键字筛选」这类常见需求
重点内容
适用版本
桌面版通用(Excel 365 / 2021 / 2019 等)。
函数速查
| 函数 | 语法 | 用途 | 例子 |
|---|---|---|---|
| SEARCH | =SEARCH(find_text, within_text) | 找子字符串位置,不区分大小写 | =SEARCH("duck",A1) |
| FIND | =FIND(find_text, within_text) | 找子字符串位置,区分大小写 | =FIND("Donkey",A1) |
| ISNUMBER | =ISNUMBER(value) | 判断是否为数字 | =ISNUMBER(SEARCH("duck",A1)) |
| COUNTIF | =COUNTIF(range,"*text*") | 通配符模糊匹配计数,永远不区分大小写 | =COUNTIF(A1:A5,"*duck*") |
方法怎么选
| 方法 | 是否区分大小写 | 例子 |
|---|---|---|
| SEARCH + ISNUMBER | 不区分 | =ISNUMBER(SEARCH("duck",A4)) |
| FIND + ISNUMBER | 区分 | =ISNUMBER(FIND("Donkey",A4)) |
| COUNTIF 通配符 | 永远不区分 | =COUNTIF(A1:A5,"*duck*") |
用 SEARCH 找出文字位置
=SEARCH("duck",A4) 返回子字符串在文本中的位置(第几个字符开始),比如 "duck" 出现在第 10 位,"donkey" 出现在第 1 位;如果 A4 不含 "horse",公式会返回 #VALUE! 错误。
搭配 ISNUMBER 转成 TRUE/FALSE
=ISNUMBER(SEARCH("duck",A4)) SEARCH 找到位置时是数字,ISNUMBER 返回 TRUE;找不到时 SEARCH 报错,ISNUMBER 就返回 FALSE。这样才能拿来做条件判断,而不是直接看位置数字。
区分大小写搜索
把 SEARCH 换成 FIND,其他写法一样: =ISNUMBER(FIND("Donkey",A4)) FIND 区分大小写,"Donkey" 和 "donkey" 会被当成不同的字符串。
搭配 IF:显示「找到/没找到」
=IF(ISNUMBER(SEARCH("duck",A4)),"Found","Not Found")
用 COUNTIF 通配符做法
=COUNTIF(A1:A5,"*duck*") 星号 * 代表任意字符,这个写法可以计数包含 "duck" 的单元格数量。
📌 COUNTIF 永远不区分大小写,如果需要区分大小写,还是得用 FIND 那套做法。
学完你会
- ✅ 能用 SEARCH/FIND 搭配 ISNUMBER 判断单元格是否包含特定文字
- ✅ 能分辨 SEARCH(不分大小写)和 FIND(区分大小写)的差异
- ✅ 能用 COUNTIF 通配符快速统计包含关键字的单元格数量
常见错误
- 直接用 SEARCH/FIND 的结果(数字)去做 IF 判断,没有包一层 ISNUMBER,找不到时会直接报错而不是显示 FALSE
- 需要区分大小写却用了 SEARCH(不区分大小写)或 COUNTIF(永远不区分大小写)
- 通配符
*忘记加在关键字两边,只加了一边导致匹配范围不对
Sources
Blog / Website: