日常工作中,我们经常需要按日期筛选数据。手动修改比较麻烦。今天我给大家分享一个节省时间的方法:用Excel的日期控件来做起止日期查询。你只需要点击选择开始和结束日期,表格数据就会自动筛选出来,不用再手动调整公式或者点开下拉菜单了。
之前有一期视频里讲过,为了让大家能更快上手,本次通过实例,一步步拆解。文中公式可以直接复制粘贴使用。
一、功能简介
如下图,当点击起始日期控件和截止日期控件,选择日期时,数据会按起止日期区间进行数据筛选。

二、制作步骤及函数公式讲解
第一步:输入查询筛选公式
在H5单元格输入函数公式=FILTER(A:F,(F:F>=I1)*(F:F<=K1),""),如下图


A:F 代表数据查询筛选区域为A列至F列; (F:F>=I1)*(F:F<=K1) 代表F列日期大于等于I1单元格内数值并且小于等于K1单元格内数值; "" 代表查询不到时,显示空值。
第二步:插入日期控件
如下图,通过“开发工具”菜单--“插入”--“其他控件”--“Microsoft Date and Time Picker Control, version 6.0”,即可添加数据控件,然后再通过右键选择日期控件“属性”--“LinkedCell”处分别输入绑定单元格I1和K1--关闭“设计模式”。

当日期控件属性绑定好单元格时,我们点击日期控件选择日期时,相应的日期就会被赋值给相应的单元格,如本例我们点击日期控件时,I1、K1单元格内就会得到相应的日期值。
这里会出现一个常见坑点:受系统日期格式、控件自带赋值格式影响,直接使用第一步的原始公式,日期筛选会失效、匹配不到数据,因此我们需要第三步优化修改公式。





第三步:修改查询筛选公式
修改H5单元格内函数公式
=FILTER(表1_4,(表1_4[日期]-11>=0)*(表1 4[日期]-K1<=0),"")
如下图


如上图,我们将日期列数据>=I1并<=K1的数据筛选条件替换为日期列数据-I1>=0并且日期列数据-K1<=0,逻辑上是一致的,但是可以适用日期控件生成的日期格式。
三、总结
通过FILTER查询筛选函数和日期控件组合,实现了一键按日期区间查询,特别适合处理流水账、销售记录这类带日期的报表。
文末示例文件,大家下载后,只要把自己的数据区域和日期列替换进去,就可以快速套用。
如果在操作过程中有任何问题,欢迎在评论区留言。如果觉得这个方法有用,也欢迎分享给你的同事。
夜雨聆风