案例分享
如下图所示,现在的数据源有3个工作表,分别是2018年,2019年和2020年。每个工作表记录的是当年各销售员在各城市的销售数据。每个工作表字段的顺序是一样的,但姓名的顺序是不一样的。
这是个多工作表汇总数据的问题,可以用sumif条件求和,由于要同时引用多个工作表的数据,所以要用到indirect多维引用的用法。
可以看到3个sumif的条件区域都是A列,求和区域都是B列,只是工作表名不同。其实我们可以用indirect的多维引用,将2018年~2020年这3个工作表的A列组合在一起。公式为=INDIRECT(ROW($2018:$2020)&"年!a:a")。
上面的公式就代表2018年!a:a,2019年!a:a和2020年!a:a。同样的,也可以将2018年~2020年的B列组合在一起。公式为=INDIRECT(ROW($2018:$2020)&"年!b:b")。
上面的公式只能算每个人在北京的销量,如果要算"沈欣丹"在上海的总销量,求和区域就要变成3个表的C列。所以求和区域是需要动态变化的,由于现在所有工作表的字段顺序一样,只要向右跟着变一列就可以了。
字母不好变化,列数我们还是用数字来表示,可以用r1c1样式。要算各销售员在北京的总销量,求和区域选B列;算上海的总销量,求和区域选C列……可以用下面的公式动态表示3个工作表的求和区域。=INDIRECT(ROW($2018:$2020)&"年!c"&COLUMN(B1),)
由于上面的公式用的是indirect的r1c1样式,所以c2表示第2列;当公式向右拖动,column(b1)变成column(c1),c2变成c3,表示第3列。
联系客服