“怎么进行多表求和?” ,今天小编必须要整理一下关于多表求和的公式了。
01.多表相同位置求和
多个工作表如果格式完全相同,可以用sum函数的多表求和功能。
【例】如下图所示,要求在汇总表里设置合计公式,汇总前19个工作表B列的和。
汇总表B2单元格公式:
=SUM(Sheet1:Sheet19!B2)
02.行数不同、项目个数不定的多表求和
【例】如下面动图所示,要求计算本年所有月份的各个部门的工资合计数。
汇总表B2单元格公式:
=SUMPRODUCT(SUMIF(INDIRECT(ROW($1:$3)&\"月!A:A\"),A2,INDIRECT(ROW($1:$3)&\"月!C:C\")))
公式说明:
ROW($1:$3)&\"月!A:A\" :生成3个月的工作表A列的引用地址。有N个月,这里的3就可以替换为N。
Indirect ():可以把生成的字符串转换为引用。例如:\"A1\"是字符A和1的连接,而indirect(\"A1\")指的是A1单元格。
SUMPRODUCT:本例求和是数组运算,用它省去了按三键输入的数组形式。
如果名子无规则,也可以用下面的公式
=SUMPRODUCT(SUMIF(INDIRECT({\"1月!A:A\";\"2月!A:A\";\"3月!A:A\"}),A2,INDIRECT({\"1月!C:C\";\"2月!C:C\";\"3月!C:C\"})))
如果你想名子可以批量生成,可以用宏表函数GET.WORKBOOK(1),用法有点复杂,这里不再详述.
03.多表多条件求和
单条件用sumif,多条件,直接用Sumifs函数替换Sumif函数
=SUMPRODUCT(SUMIFS(INDIRECT(ROW($1:$3)&\"月!C:C\"),INDIRECT(ROW($1:$3)&\"月!A:A\"),A2,INDIRECT(ROW($1:$3)&\"月!B:B\"),B2))
注:看着很复杂,其实就是sumifs的基础应用,只是用indirect函数生成多个表格的单元格引用地址。
ps:多表求和公式看起来很长很唬人,其实原理并不复杂,关键是要理解indirect函数配合row()或数组生成多个表格的引用。如果你真的不明白,还是先收藏起来备用吧。