×

返回
设置

你会跨工作簿统计吗?

Excel不加班

大多数情况下,我们对表格统计都会在同一张工作簿进行,这样操作起来非常方便,不过有时也会进行跨工作簿统计。


跨工作簿条件求和最常见的两个问题:

01 跨工作簿区域应该如何写?

02 关闭工作簿后,统计出来的结果变成错误值怎么回事?


条件求和,首先想到的是用SUMIF函数进行统计。


函数语法:

=SUMIF(条件区域,条件,求和区域)


其实跨工作簿的情况下,区域的选取跟在同一个工作簿一样,都是用鼠标选取,而不是手写。有一点必须要记住:两个工作簿必须同时打开。


鼠标选取区域详见动画


最终公式为:

=SUMIF([跨工作簿统计1.xlsx]Sheet1!$B:$B,A2,[跨工作簿统计1.xlsx]Sheet1!$D:$D)


一旦将跨工作簿统计1.xlsx关闭,修改统计月份,金额就变成错误值。


在Excel中,并不是所有函数都支持跨工作簿,如SUMIF、COUNTIF函数就不支持,而VLOOKUP、SUMPRODUCT函数就支持。这里可以借助SUMPRODUCT函数实现跨工作簿统计。


函数语法:

=SUMPRODUCT((条件区域=条件)*求和区域)


我们重新看一下出错的单元格,公式变成:

=SUMIF('C:UserschenxiluDesktop[跨工作簿统计1.xlsx]Sheet1'!$B:$B,A2,'C:UserschenxiluDesktop[跨工作簿统计1.xlsx]Sheet1'!$D:$D)


C:UserschenxiluDesktop这个是路径,意思就是说这个表格存在卢子电脑的桌面。


[跨工作簿统计1.xlsx]Sheet1这个是工作簿名称跟工作表名称。


不要看公式很长,其实拆分开真的没什么,都是很简单的东西。


SUMPRODUCT函数不支持引用整列,这里只要将原来的区域改小,稍作变动就完成了最终的统计。

=SUMPRODUCT(('C:UserschenxiluDesktop[跨工作簿统计1.xlsx]Sheet1'!$B$2:$B$100=A2)*'C:UserschenxiluDesktop[跨工作簿统计1.xlsx]Sheet1'!$D$2:$D$100)


这样即使工作簿不打开的情况下,也能正确统计。


一句话总结:可以用SUMPRODUCT函数实现跨工作簿统计,直接打开两个工作簿,用鼠标选取区域,路径是原来的表格关闭后自动生成的。


作者:卢子,清华畅销书作者;个人公众号:Excel不加班(ID:Excelbujiaban)

5755人看过 7年前

全部评论(2)

请稍等,正在加载
已显示全部
分享
扫码下载APP 关闭

帖子回复及时提醒
听课刷题更加方便

取消
复制链接,粘贴给您的好友

复制链接,在微信、QQ等聊天窗口即可将此信息分享给朋友