年底必学,12个月的统计有套路!

2018-12-13 11:33:54 0 0

有12个明细表,有的人叫1月到12月,有的人直接就用Sheet1到Sheet12,这些都不影响全局,处理方式都差不多。要在汇总表统计这12个表的金额,现在以C列为例进行说明。


针对这种情况,可以简单分成两种。


1.所有表格的格式一模一样,包括姓名的顺序也一模一样。


遇到这种,你就该暗自庆幸,多么幸运,一个超级简单的公式即可搞定。

=SUM(Sheet1:Sheet12!C7)


公式说明:

=SUM(开始表格名称:结束表格名称!单元格)


2.所有表格的格式一模一样,但是姓名的顺序不一样。


遇到这种,那就头痛了,公式复杂了好多倍。


有的人可能会觉得,顺序不一样,不就是用SUMIF函数嘛,有何难的。如果真有这么简单就好了,直接嵌套进去,全部都是错误值。


对于这种应该怎么解决?


看清楚了,就是这个长长的公式。

=SUMPRODUCT(SUMIF(INDIRECT("Sheet"&ROW($1:$12)&"!b:b"),B7,INDIRECT("Sheet"&ROW($1:$12)&"!c:c")))


其实这个也算一个套路,需要背诵起来。

=SUMPRODUCT(SUMIF(INDIRECT(所有工作表名称&"!条件区域"),条件,INDIRECT(所有工作表名称&"!求和区域")))


黑色字体的永远不变,变的只是红色字体


现在最关键的就是如何获得所有表名称。Sheet1到Sheet12,Sheet这一部分是不变的,变的只是数字部分,现在就转变成获取数字1到12。


获取序号可以用ROW函数。


其实,ROW函数还有一种数组用法,可以获得1到12的数字。

=ROW(1:12)


这种不能回车,而是要借助F9键在编辑栏查看。



现在用公式,在编辑栏按F9键就可以知道获得了12个表名。

="Sheet"&ROW(1:12)


因为公式是需要下拉的,所以需要锁定数字。

="Sheet"&ROW($1:$12)


多表求和的难点就是获得所有表格名,这个搞定以后,直接套用就可以出来了。


比如现在是1到12月,那就略作改变即可。

=SUMPRODUCT(SUMIF(INDIRECT(ROW($1:$12)&"月!b:b"),B7,INDIRECT(ROW($1:$12)&"月!c:c")))


最后,重要的事再说一遍。


其实这个也算一个套路,需要背诵起来。

=SUMPRODUCT(SUMIF(INDIRECT(所有工作表名称&"!条件区域"),条件,INDIRECT(所有工作表名称&"!求和区域")))



来源:excel不加班,作者:卢子