欢迎转发和点一下“看”,文末留言互动!

置顶公众号或设为星标及时接收更新不迷路

小伙伴们好,跨表求和因为要用的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函数的书写格式。

    不掌握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-