透视表疑难妙解,这个方法80%的人不知道

与 30万 读者一起学Excel

VIP学员的问题,明细表有的预付款日为空白,用透视表按月组合的时候出现问题,该如何解决?

透视表在组合的时候,要求是很严格的,只要存在一个空单元格或者文本的内容都不允许组合。

最简单的办法,就是将空单元格都输入日期,但是实际上,肯定会存在没有预付款日这种情况。这时,卢子又用了辅助列解决。

用TEXT函数将日期转换成年月的形式,不过有一个小小的问题,空单元格显示成1900-01。

=TEXT(D2,"e-mm")

不处理也不影响统计,如果再加上;;;效果会更好。e就是4位数的年,mm就是2位数的月,;;;就是将不是日期的全部显示空白。

=TEXT(D2,"e-mm;;;")

到这里本来问题已经解决,这时学员又提出了一个新要求,付款周期是按照25日结算月的,26日后的都算下一个月,透视表中如何处理?

这种特殊的月份处理,其实也挺常见的,我的第一份工作,就是26日以后当做下一月处理。

先用DAY函数提取日,判断是否大于25日,如果大于的显示1,否则显示0。EDATE函数就是将日期推后几个月,结合起来就是,如果大于25日就推后1个月,否则就是原来的日期。再结合TEXT函数将日期转换成年月的形式。

=TEXT(EDATE(D2,IF(DAY(D2)>25,1,0)),"e-mm;;;")

数据源处理完,剩下的插入透视表,将年月拉到行,金额拉到值就搞定了。

提取码:cg7b

推荐:没想到,按周、月、季度、半年、年组合,这些透视表都可以!

上篇:不就对个账,又是拆分表格,又是合并统计,这样折腾不累吗?

在使用透视表的时候,我经常用辅助列,因为直接用纯透视表经常会出问题,比如插入计算项(字段)。你在使用透视表的过程中,是否遇到必须用辅助列才能解决的情况?

作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)

(0)

相关推荐