分享

Sumif Indirect函数双雄组合,实现多表汇总求和

 L罗乐 2016-08-28

大家知道,Sumif是单条件求和函数,我们一般用于单表求和,如果涉及多表呢?例如30个表,不可能一直是sumif() sumif() sumif() sumif() sumif()......


那样太累了!


单靠Sumif,势单力薄,我们请来Indirect函数帮忙。


看例子,有1-5日3个列相同,行数不同的明细表,要求汇总出每个省份的销量总和。

分表:


汇总表:


思路分析:

如果是单表,只需要Sumif函数直接求和即可:

=SUMIF('1日'!B2:B9,总计!A2,'1日'!C2:C9)

但,对于多个表,可借助INDIRECT函数生成对多个表区域的引用,即是:

INDIRECT(ROW($1:$5)&'日!B:B')  -- 引用每个表的B列数据区域

以及

INDIRECT(ROW($1:$5)&'日!C:C') -- 引用每个表的C列数据区域


最后,用Sumif函数组合起来,即是:

=SUMIF(INDIRECT(ROW($1:$5)&'日!B:B'),A2,INDIRECT(ROW($1:$5)&'日!C:C'))


需要注意,上面公式返回的是每个表的求和结果,是一组数,数组求和,当然还要请Sumproduct函数过来帮衬一把。最后结果即是:

=SUMPRODUCT(SUMIF(INDIRECT(ROW($1:$5)&'日!B:B'),A2,INDIRECT(ROW($1:$5)&'日!C:C')))  ,鼠标下拉公式,最终结果如图:


复盘一下:

1、本例涉及需要引用数据,自然想要Vlookup,或者Index,Match等。但要多表引用,只能求助INDIRECT了,最后求和,自然要请到Sumproduct。所以Sumif函数多表求和,关键要掌握Indirect和Sumproduct函数的基础用法,这两个函数相对来说有一定的难度,感兴趣者可以参阅学习尚西的165集函数透视表视频教程,目录如下:


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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多