打开APP
userphoto
未登录

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

开通VIP
excel辅助列实现多条件筛选数据(仿高级筛选)

原始数据:

结果:根据品牌,筛选日期区间内的所有数据。



此题目,如用VBA处理将是极好的,一般这种情况,用函数来处理是比较无力的。

复杂一点的使用index small if万金油公式解决,但效率太低。

因此,使用辅助列才能使效率提升上来。


辅助列公式:

=IF(AND(A4>=Sheet2!$F$4,Sheet1!$A4<=Sheet2!$H$4,B4=Sheet2!$F$3)*1,COUNTIF(H$3:H3,'>0') 1,'')


解释:and函数满足三个条件都成立的时候,返回true。

AND(A4>=Sheet2!$F$4,Sheet1!$A4<=Sheet2!$H$4,B4=Sheet2!$F$3)

也就是品牌,开始日期,结束日期这三个条件都成立的话,将返回true。

而我们知道,在excel中,true有时候是等于1的。所以

AND(A4>=Sheet2!$F$4,Sheet1!$A4<=Sheet2!$H$4,B4=Sheet2!$F$3)*1

在条件都满足的情况下就返回1.这里转换成为1,是要使用1来计数(累计)。如下图:


COUNTIF(H$3:H3,'>0') 1

通过单元格错位,生成编号(计数),因为错位,所以初始值是1,countif后面需加上1.


通过辅助列(计数),就标记了符合条件数据所在的位置。知道数据所在的位置,就可以使用match来提取数据了。

数据提取公式:

=IFERROR(INDEX(Sheet1!A$4:A$21,MATCH(ROW(A1),Sheet1!$H$4:$H$21,0),),'')

结果:

这样,就完成了数据的筛选,效率也比使用数组公式要高得多。



数据文件下载:

链接: https://pan.baidu.com/s/1TNc4NkvFwKHborQEprLesw 密码: 3jjb

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Excel辅助列系列:多条件高级筛选
怎么用Excel筛选重复数据?
很重要的EXCEL使用技巧
excel列中查找相同项
EXCEL问题大全(1)
找出两列或多列数据中只出现了一次的数据
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服