欢迎转发和点一下“在看”,文末留言互动!
置顶公众号或设为星标及时接收更新不迷路
小伙伴们好,跨表求和因为要用的INDIRECT函数,因此本身就是比较难的。而跨表条件求和就更难了。这不,今天就遇到了这样一道题目。
有5个店面,文件的结构一致内容不同。
接下来就一起来看看如何解决这道难题。
01
对每一个店单独求和
在单元格G2中输入下列公式,三键回车并向下拖曳即可。
=SUM((INDIRECT($A2&"!$a$4:$a$12")=$B$2)*(INDIRECT($A2&"!$b$4:$b$12")=$C$2)*(INDIRECT($A2&"!$c$1:$J$1")=$D$2)*(INDIRECT($A2&"!$c$2:$J$2")=$E$2)*(INDIRECT($A2&"!$c$3:$J$3")=$F$2)*(INDIRECT($A2&"!$c$4:$J$12")))
一句话解释:
公式如上图中这样写比较好理解,它其实就是一个SUM(()*()*()…)的结构。单元格A2中的信息是“大胖店”,通过INDIRECT函数来提取工作表“大胖店”中不同的区域,分别作为条件区域和求和区域,最终由SUM函数求和。请注意这里INDIRECT函数的书写格式。

但这个不是希望的最终结果。下面就通过一个公式来汇总所有店的总和。
02
一条公式
在单元格I2中输入下列公式,三键确认即可。
=SUM(SUMIFS(OFFSET(INDIRECT(A2:A6&"!B4:B12"),,(大胖店!C1:J1=汇总!D2)*(大胖店!C2:J2=汇总!E2)*(大胖店!C3:J3=汇总!F2)*(COLUMN(大胖店!C:J)-2)),INDIRECT(A2:A6&"!A4:A12"),B2,INDIRECT(A2:A6&"!B4:B12"),C2))
思路:
-
INDIRECT(A2:A6&”!B4:B12″)部分,首先利用INDIRECT分别跳转到5个工作表的单元格区域B4:B12
-
(大胖店!C1:J1=汇总!D2)*(大胖店!C2:J2=汇总!E2)*(大胖店!C3:J3=汇总!F2)*(COLUMN(大胖店!C:J)-2))这部分,是月份、渠道和项目这3个条件。由于5个表的结构式完全相同的,因此我们仅仅使用“大胖店”中的数据,其它店的条件数据是完全一样的
-
上面两部分作为OFFSET函数的参数,分别以每个表中的B4:B12为基准向右偏移
-
接下来再用SUMIFS函数对剩余的2个条件按条件求和。注意,这时每个表都会做同样的操作
-
最后,由SUM函数汇总得到最终结果
-END-