跨工作表查询你会做,可是跨工作表条件求和你会吗?
送人玫瑰,手有余香,请将文章分享给更多朋友
动手操作是熟练掌握EXCEL的最快捷途径!
有朋友问了我这样一个问题:如何实现跨表条件求和?
看到这样一个问题,第一个反应是可以使用EXCEL的合并计算来实现,而且还不用考虑不同表格的格式和内容是否完全一致;再想想,我们还可以利用数据透视表来解这个题目;还有,如果考虑格式的一致性后,我们还可以利用INDIRECT函数来写写公式。
例如下面这个例子。
上面这4张表是4个不同城市的不同产品的销量。现在我们要依据下面“客户”和“产品”来统计销量的总和。
下面我们就一起来看看详细的介绍吧!
合并计算
在正式开始前,我们首先对每张表格做一下调整。
接下来合并计算。
完成后如下图。
最后进行分列操作,并删除多余行,添加列标题即可。
数据透视表
同样,我们需要先处理一下数据,如下。
同时按下Alt+D,再按P键,调出数据透视表向导,点选“多重合并计算数据区域”,并选择“创建单页字段”。
结果如下。
取消行总计和列总计后,将所需要的数据复制后进行必要的操作,得到最终的结果。这里不再详细介绍了。
函数法
由于每张工作表的名称不一样,没有规律性,因此我们首先要提前工作表名称。这时可以利用宏表函数。
打开名称管理器,创建名称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操作问题时不再迷茫无助
我就知道你“在看”
戳原文,更有料!免费模板文档!