分享

你会写 多表求和 公式吗?

 碧荷晨露 2017-06-18

就在一分钟前,兰色又看到有同学提“怎么进行多表求和?” ,今天兰色必须要整理一下关于多表求和的公式了。(网上相关教程很少,建议收藏

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函数生成多个表格的单元格引用地址。


兰色说:多表求和公式看起来很长很唬人,其实原理并不复杂,关键是要理解indirect函数配合row()或数组生成多个表格的引用。如果你真的不明白,还是先收藏起来备用吧。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多