作为公司财务,经常要处理票据的数据列表,大部分需求用简单的筛选就可满足,但一些复杂一点的,需要用到高级筛选,比如:
将其他表格的数据筛选到当前表格(或者将当前表格筛选到其他工作表)
将筛选后的表格只保留指定的字段/列
筛选条件要用到公式
下面,我们将以应付票据管理台账为例介绍如何用高级筛选来筛选出30天后到期的票据,并将筛选结果中的指定字段、按指定顺序筛选到另一个工作表。
功能需求:
1、筛选N天后到期的票据
2、将筛选结果筛选到另一个工作表
3、筛选结果只呈现指定字段
4、筛选结果按指定顺序呈现
操作步骤
一、原始数据
数据如下图:A4:J17创建为表格,并命名为“出票清单”
目标表格:
筛选30日内到期的票据,基准日为2018-1-16,结果如下图
二、操作步骤
1、在G2:H2单元格输入查询条件。
强调:
G2、H2的“到期日”要与出票清单中列标题(J2单元格)“到期日”必须完全相同,否则筛选不出。
2、在A4:I4指定要呈现的字段及顺序
3、点击数据选项卡下的高级筛选,按下图指定筛选条件。然后点击“确定”
高级筛选:
解释1:
列表区域中的“出票清单[#全部]”,这是表格的结构化引用。
“出票清单”是指通过“插入”选项卡下的“表格”设置后插入的表格的数据区域 ,
“出票清单[#全部]”是指包含“出票清单”表格包含数据区域及标题的部分,也就是“出票清单”表格的所有。
关于表格的结构化引用,请参阅《偷懒的技术2:财务Excel表格轻松做》第一章。
看下面的动图中对照所选定的范围和SUM公式中的范围就比较清楚明白。
我们先在目标表格中点击高级筛选,然后在高级筛选的列表区域使用表格,有效地规避了“只能复制筛选过的数据到活动工作表”的问题。
解释2:
在高级筛选设置“复制到”的范围为A4:I4,而A4:I4我们已经指定了表格字段及顺序,那么筛选结果就按我们所指定的字段及顺序进行显示。
扩展:
由于上面筛选必须手动计算出到期日是哪一天,比较麻烦,如果我们在目标表格的J2单元格输入:
<=2018/1/16+30
高级筛选又无法识别,我们得使用高级筛选的另一种模式,条件中使用公式。
G2单元格的公式为:
=AND(出票清单!J5>=$F$2,出票清单!J5<=$F$2+30)
筛选条件单元格区域为:
G1:G2
敲黑板,注意,注意,G1单元格为空,或者为不是“出票清单”列标题的任何文字,就是不能为列标题,比如不能输入“开户银行”、“保证金”、“到期日”……等等。
然后再按前面的步骤进行高级筛选,高级筛选的设置如下图