【这个报表怎么做】之这个报表可把我难住了!
问题很简单,就是希望做出下面的报表:
这个表看上去是很容易实现的,对吧。
最左边一列日期只不过就是后面明细数据日期中将相同的日期进行单元格合并后的结果。四个汇总列就是分别汇总渠道个数, 产品个数,销售额合计以及毛利合计。一般人最先想到的就是写个公式呗。销售额合计和毛利合计可以用SUMIFS计算,这里有个小问题就是渠道个数和产品个数不能直接COUNTIF,因为要计算的是不重复的个数,当然也可以加个辅助列解决。
但是,这里遇到了比较大的问题,那就是在写完公式往下填充的时候,会报错:
这是因为这里有合并单元格,而且合并单元格的大小并不一致。
这就麻烦了,只能一行一行拷贝公式了,这就跟手工合计一样了,效率太低,怎么办。
当然可以在写公式的时候选中一列,然后输入公式后用Ctrl+Enter完成输入,这样可以将这一列的公式都填充进来,效率提高不少。
不过这个方法仍然是一个半手工的方法,每次数据变化了,都需要来进行这样的操作。更不用说还有那么多日期的单元格等待合并呢。
我设计报表的一个原则就是只要可能就要设计从源数据到结果报表的自动化实现,并且尽可能不用编程。那么这个要求有没有自动化实现的方案呢?
如果只要左边的合并区域,实际上很简单就是一个透视表的工作。即使考虑到不重复计数,也可以用Power Pivot得到,我们以前就介绍过这样的案例(具体看这篇文章)。实际上用Power Query也可以得到。
难点就在右边还要展示明细数据。
在很久以前,如果是客户对我提出这样的需求,我一定会尽可能但是很强烈的要求客户改变需求,因为没有任何一条路能够通向这个需求的目标。但是现在,我基本上认为客户的所有需求都是合理的,有些情况下就是希望在看到汇总数据的时候可以看到这些明细数据。(也不要跟我提那种插入汇总行的方法,如果数据量比较多,汇总行实际上很不直观)。
我在这里卡住了,而且卡了好几天!真是太难了!
不过还好,最后我找到了一个方法。大家可以先看看结果:
这个实现实际上是有一点取巧了。大家看这个结果报表的截图:
在这里,一个日期仍然是一行,只不过我们将明细数据放在了一个单元格里分行展示。
看到这里,我想大家都会知道,这样一个报表就可以用Power Pivot来完成了。类似的例子我们在前面讲过(具体可以看这篇文章)。不过用Power Pivot有一个小缺陷,大家可以自己尝试一下就知道了。
今天我给大家介绍直接用Power Query来制作这个结果报表。
首先,将源数据表转换为超级表。
然后选中源数据区域的任意单元格,在“数据”选项卡中点击“从表格”:
数据被导入Power Query编辑器中:
选中日期列,在“转换”选项卡中,点击数据类型,选择“日期”:
在弹出的对话框中,选择替换当前转换:
点击“转换”选项卡的“分组依据”:
在对话框中,选择“高级”,将分组依据选择为日期:
将新列名按照下图进行设置(可以点击“添加聚合”添加新列):
点击确定,得到分组汇总表:
在“添加列”选项卡中,点击“自定义列”:
在对话框中,按照下图输入名称和公式,定义“渠道数量”列:
同样,添加SKU个数列:
接下来继续添加自定义列,这些列就是明细数据的各列。
先是日期明细:
由于日期列格式是日期,所有需要用Transform函数转换一下
现在的数据是这样的:
接下来自定义渠道明细列:
产品列:
销售额明细列:
毛利明细列:
得到结果表格:
将“其他列”删掉,然后点击关闭并上传:
大功告成!
Power Query是一个非常好用的非常强大的工具,赶紧用起来吧!
关注本公众号,点击底部菜单“联系客服”,与客服取得联系,索取“汇总明细在一起”案例文件