excel 提取含有关键字的行主要有两种主流实现方式,第一种是基础筛选功能,适合一次性临时提取,第二种是函数动态提取,适合数据源更新之后结果可以自动刷新,很多新手只会手动筛选,但是当原始表格新增数据之后,筛选结果不会自动更新,遇到这种场景就需要改用函数方案。提取含有关键字的行本质就是判断某一列单元格里面是否包含指定文字,只要判断成立,就把整行数据抓取出来,核心判断逻辑是通配符或者 ISNUMBER 搭配 SEARCH 函数,SEARCH 函数不区分大小写,是关键字匹配最常用的判断函数。两种方案各有适用场景,临时查询优先筛选,报表自动化推荐动态函数,掌握之后还可以拓展多关键字同时匹配,或者排除关键字反向提取,满足台账订单名单这类表格的数据抽取需求。
方案一 自动筛选 临时提取含有关键字的行
这个是最简单的办法,不需要写公式,适合一次性查看导出数据
操作步骤
第一步 选中原始数据表头区域
第二步 点击顶部数据选项卡,选择筛选,表头每个单元格会出现下拉箭头
第三步 点击关键字所在那一列的下拉箭头,打开筛选菜单
第四步 选择文本筛选,再选择包含
第五步 在输入框填入想要匹配的关键字,点击确定
第六步 表格就只显示含有关键字的行,选中可见行可以复制粘贴到新位置
补充说明 筛选是隐藏不符合条件的行,原始数据本身还保留,不是删除,取消筛选就恢复全部数据,筛选支持通配符,星号代表任意字符,问号代表单个字符
方案二 函数动态提取含有关键字的行
新版 excel 365 以及 2021 版本支持 FILTER 函数,是目前最优动态方案
函数语法 FILTER 数据区域 匹配条件
匹配条件核心写法 ISNUMBER SEARCH 关键字 目标列
SEARCH 函数用来查找关键字在单元格里面的位置,如果找到就返回数字,找不到返回错误值,ISNUMBER 把数字转换成 TRUE,错误值转换成 FALSE,FILTER 根据 TRUE 条件把整行提取出来
示例 原始数据在 A2 D100,关键字写在 F1 单元格,目标判断列为 B 列
公式 FILTER A2 D100 ISNUMBER SEARCH F1 B2 B100
回车之后会自动溢出,一次性输出所有含有关键字的整行数据,原始表格新增数据,只要区域覆盖新行,结果自动刷新
旧版本 excel 无 FILTER 函数实现办法
旧版本没有溢出动态数组,需要使用 INDEX SMALL ROW 组合数组公式,逻辑是先筛选出满足关键字条件的行号,再通过 INDEX 按行号调取整行数据,公式编写难度更高,输入完成需要按数组组合键,适合老版本软件用户,新版本不推荐继续使用这套复杂公式
方案对照表
| 方案 | 适用版本 | 是否自动更新 | 优点 | 缺点 |
|---|---|---|---|---|
| 自动筛选 | 全部 excel 版本 | 否 | 操作简单不用公式 | 新增数据需要重新筛选 |
| FILTER 函数 | excel365 2021 及以上 | 是 | 动态自动溢出结果 | 旧版本无法使用 |
| INDEX SMALL 数组公式 | 全部版本 | 是 | 兼容老版本 | 公式复杂容易出错 |
重点注意事项
第一 SEARCH 函数不区分大小写,如果需要区分大小写匹配,改用 FIND 函数
第二 关键字如果本身带有星号问号,属于通配符特殊字符,需要额外处理,否则会识别成通配规则
第三 FILTER 如果没有匹配到任何含有关键字的行,会返回错误值,可以搭配 IFERROR 函数把错误值显示成空白
第四 提取出来的动态数组区域,不能在输出区域里面手动修改单元格内容,否则会报溢出错误
第五 如果需要同时匹配多个关键字,可以在条件里面用乘号连接多个 ISNUMBER SEARCH 判断,实现同时包含多个关键字
【常见问题】
问题 1 excel 提取含有关键字的行没有匹配结果怎么办
回答 1 excel 提取含有关键字的行没有匹配结果,优先检查关键字文字是否和源数据完全一致,空格全角半角差异都会造成匹配失败,使用 FILTER 函数时还可以搭配 IFERROR 把错误值转为空白。
问题 2 excel 提取含有关键字的行可以区分大小写吗
回答 2 excel 提取含有关键字的行默认 SEARCH 是不区分大小写,如果想要区分大小写,就把判断函数换成 FIND,再搭配 ISNUMBER 和 FILTER 完成含有关键字的行提取。
问题 3 excel 提取含有关键字的行新增数据后结果不更新是什么原因
回答 3 excel 提取含有关键字的行如果使用的是手动筛选,本身就不会自动更新,需要重新执行筛选操作,如果是 FILTER 函数方案,检查公式里面的数据区域有没有覆盖新增行,扩大区域之后含有关键字的行就会自动刷新。
问题 4 excel 提取含有关键字的行能不能同时匹配多个关键字
回答 4 excel 提取含有关键字的行支持多关键字匹配,在 FILTER 的条件里面添加多组 ISNUMBER SEARCH 判断,用乘号连接,就可以提取同时满足多个含有关键字的行。
【免责申明】
本文内容基于 excel 常规版本功能编写,不同版本 excel 函数支持情况存在差异,新版动态数组函数仅在部分高版本可用,教程仅供学习参考,正式业务数据请提前备份原始表格,核验提取结果。
