乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > excel高级筛选-excel高级筛选结果自动更新的两种方法,收藏必备

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

作者:乔山办公网日期:

返回目录: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有一定程度的了解,若暂时理解不透也很正常,先收藏待需要的时候再作为参考也是不错的。欢迎留言沟通!


本文标签:excel高级筛选(45)

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网