打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
excel高级筛选结果自动更新的两种方法,收藏必备

前言

excel中的高级筛选功能很强大,对于从大量数据中,按条件挑选提取数据的要求,处理起来很高效。不足之处是筛选结果不能随着基础数据改变自动更新,本文提供两种方法来弥补这个不足,实现筛选结果的自动更新,希望对用到的人有所帮助。

案例说明

要求从A列姓名中,将名字中有“曹”字的提取出来放到C列中。

高级筛选结果

我们先来看看excel自带的高级筛选功能效果,点击高级筛选后,进行如下设置,很轻松就得到C列的结果,见下图:

E列为辅助列——条件区域

当我们把基础数据中即A列的曹夫人改成曹甜甜时,C列中结果还是曹夫人,不会跟着改变,必须再次打开高级筛选框后,点击确定结果才会变过来,相当于又设置了一次筛选。

我们希望当修改A列数据时,不需其他操作,C列的筛选结果自动更新,来看看实现方法:

方法一:函数方案

通过函数编辑公式,替代表格自带的筛选功能。为便于比较,函数方案结果放在B列,B3单元格公式为:

=IFERROR(INDEX($A$3:$A$100,SMALL(IF(ISERROR(FIND('曹',$A$3:$A$100)),4^9,ROW($A$3:$A$100)-2),ROW(A1))),'')

数组公式,CTRL+SHIFT+ENTER三键同时按,公式向下复制填充。结果为:

此时在A列基础数据中增减修改数据,B列会自动更新结果,C列不更新。函数方案无需E列辅助数据。

方法二:VBA方案

用VBA通过表格的Worksheet_Change,触发运行筛选代码,实现筛选结果的即时更新。

首先录制筛选的宏代码:

记住圆框标记的宏名“筛选”,后面代码中要用到,点击确定后,操作一次高级筛选,停止录制宏。

打开VBA界面,双击下图中左侧红色方框“Sheets(Sheets)”,通过下拉三角符号分别选定好下图中的两个椭圆框内容,然后在代码界面中,输入大红方框的代码。

设置数据所在表单代码

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 1 And Target.Row > 2 Then Call 筛选

If Target.Column = 5 And Target.Row = 3 Then Call 筛选

End Sub

关闭VBA界面完成,当修改基础数据时,C列筛选结果也实现了同步更新。

总结

本文只是抛砖引玉,其实案例功能在自动查找方面运用是非常广也是非常高效的,只是两种方案均需要对excel有一定程度的了解,若暂时理解不透也很正常,先收藏待需要的时候再作为参考也是不错的。欢迎留言沟通!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Excel取唯一值的五种方法
excel取唯一值的五种方法
Excel周末编程速成班第27课:数据库任务
尴尬的Excel对话:你会Excel函数公式删除重复数据吗?
excel多个条件筛选的三种方法
高级筛选?公式表示不服!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服