sumif的高级用法:跨多表条件求和

Sumif函数是条件求和函数,一般我们只是用于单表求和,今天本文就学习sumif函数的高级用法,跨多表条件求和 。
一、工作表名规则(序号+字符)
【例】,有1日~5日5个列相同、行数不同的明细表,要求汇总出每个产品的销量之和 。
分表:
汇总表
分析:
分析:
首先我们需要用宏表函数取得表名
公式 – 名称管理器 – 新建名称 – 在新建名称中输入名称“sh”,然后“引用位置”框中输入公式:
【sumif的高级用法:跨多表条件求和】=MID(GET.WORKBOOK(1),FIND("]",GET.WORKBOOK(1))+1,99)&T(now())
公式说明:
GET.WORKBOOK(1)是宏表函数,当参数是1时,可以获取当前工作簿中所有工作表名称,由于名称中带有工作簿名称,所以用FIND+MID截取只含工作表名称的字符串 。&T(now())的作用是让公式自动更新 。
然后,我们就可以在公式中用 sh&"! 替换原来的ROW($1:$5)&"日!,
最终公式为:
=SUMPRODUCT((SUMIF(INDIRECT(sh&"!b:b"),D2,INDIRECT(sh&"!c:c"))))
由于sh取得的名称中包括“合计”,所以汇总表在制作时,要避开B列和C列,以免造成循环引用 。

    推荐阅读