跨工作表查询你会做,可是跨工作表条件求和你会吗?

送人玫瑰,手有余香,请将文章分享给更多朋友

动手操作是熟练掌握EXCEL的最快捷途径!

有朋友问了我这样一个问题:如何实现跨表条件求和?

看到这样一个问题,第一个反应是可以使用EXCEL的合并计算来实现,而且还不用考虑不同表格的格式和内容是否完全一致;再想想,我们还可以利用数据透视表来解这个题目;还有,如果考虑格式的一致性后,我们还可以利用INDIRECT函数来写写公式。

例如下面这个例子。

上面这4张表是4个不同城市的不同产品的销量。现在我们要依据下面“客户”和“产品”来统计销量的总和。

下面我们就一起来看看详细的介绍吧!

01

合并计算

在正式开始前,我们首先对每张表格做一下调整。

接下来合并计算。

完成后如下图。

最后进行分列操作,并删除多余行,添加列标题即可。

02

数据透视表

同样,我们需要先处理一下数据,如下。

同时按下Alt+D,再按P键,调出数据透视表向导,点选“多重合并计算数据区域”,并选择“创建单页字段”。

结果如下。

取消行总计和列总计后,将所需要的数据复制后进行必要的操作,得到最终的结果。这里不再详细介绍了。

03

函数法

由于每张工作表的名称不一样,没有规律性,因此我们首先要提前工作表名称。这时可以利用宏表函数。

打开名称管理器,创建名称sh,输入公式“=MID(GET.WORKBOOK(1),FIND("]",GET.WORKBOOK(1))+1,99)&T(NOW())”。

宏表函数不能直接在EXCEL工作表中使用。但是它可以应用在名称中。

宏表函数GET.WORKBOOK(1)返回的是工作簿中每个工作表的完整路径名称。这里利用MID函数提取了工作表名。

接下来,在单元格F2中输入公式“=SUMPRODUCT((SUMIFS(INDIRECT(sh&"!c:c"),INDIRECT(sh&"!b:b"),E2,INDIRECT(sh&"!a:a"),D2)))”,并向下拖曳即可。

由于宏表函数会将汇总工作表的名称也一并抓取,因此在汇总工作表中要避开A、B和C列。

思路:

简单说,这就是一个SUMIFS函数多条件求和,配合SUMPRODUCT函数将每个工作表中按条件汇总的数值汇总成最终的数值。

-END-

长按下方二维码关注EXCEL应用之家

面对EXCEL操作问题时不再迷茫无助

我就知道你“在看”

戳原文,更有料!免费模板文档!

推荐阅读
(0)

相关推荐