大多数情况下,我们对表格统计都会在同一张工作簿进行,这样操作起来非常方便,不过有时也会进行跨工作簿统计。
跨工作簿条件求和最常见的两个问题:
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)
帖子回复及时提醒
听课刷题更加方便
全部评论(2)