有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不加班,作者:卢子