“怎么进行多表求和?” ,今天小编必须要整理一下关于多表求和的公式了。(网上相关教程很少,建议收藏)
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()或数组生成多个表格的引用。如果你真的不明白,还是先收藏起来备用吧。