大家中午好!我是Excel表哥新秀77.今天为大家带来的是关于跨工作簿求和的函数应用。
这里注意的是我说的是跨工作簿求和,而不是跨工作表求和。如果仅仅是跨工作表求和的话,那根本没必要请SUMPRODUCT出山。毕竟这个家伙太难懂了。我也是今天恶补了之后才明白的,趁着还没忘记,赶快分享出来。
我今天要举的实例如下,照旧,仍是我实际当中用到的。一份订单明细,一份订单跟踪,是两个文件,即两个工作簿。订单跟踪需要将订单明细的内容按照订单号,客户名称,和订单数量进行汇总,如下
相信看到这里,Excel初级以上的高手立马会告诉我,数据透视表,分类汇总,就解决问题了,干嘛还要费事用函数呢。说实话我烦透了每天用数据透视表了。每天选定区域,插入,数据透视表,拖这个,拖那个,然后再复制数据。所以我必须用函数。
这里有一点和大家说一下,订单跟踪里订单号和客户名称我是直接从订单明细复制过来,明细里好多数据,到这里只有区区几行,多余的数据都去掉了。这个过程我只用了一个操作,因为今天主要讲的不在这,所以不过多阐述,需要的小伙伴可以私信联系我。
废话说的有点多,下面开始
首先我们先走走错路吧。
1,我们在订单跟踪的C2单元格输入sumif公式如下,我之前就是这么错的,这里作为前车之鉴
输入后回车确认,然后向下填充
我们检查后会发现,没有错误,成功的跨工作簿求和了,如果你这样认为,那就和我一样错了。
2,我们保存文件,然后将这两个文件都关掉。再单独打开订单跟踪表,傻眼了,怎么回事?
订单数量那里全部出现了错误值!再试着打开订单明细,又发现数量又神奇的回来了!
到这里我可以正式宣布,SUMIF跨工作簿求和,失败!因为我们总不能两个文件一直同时打开吧!
下面有请SUMPRODUCT出场为大家表演吧!
1,在订单跟踪C2单元格输入=SUMPRODUCT(([订单明细.xlsx]订单明细!$A$2:$A$10000=A2)*[订单明细.xlsx]订单明细!$F$2:$F$10000),神奇的函数我到后面再讲,先跟我往下走
回车确认后向下填充
会发现和SUMIF结果一样。
2,依旧同时关掉两个文件,然后单独打开订单跟踪,神奇的事再次发生了,不过这次是成功的神奇
跨工作簿求和,成功了!碾压SUMIF,碾压数据透视表,此处应有掌声!
下面给大家简单介绍下SUMPRODUCT,了解的小伙伴也可以看看,为我纠错啊!简单的说这是一个求乘积和的函数,你看我把它简化之后是什么样子=SUMPRODUCT(A区*B区)。这里A区和B区是两个数组。这个公式本身很简单,复杂的是参数。大家看我写的参数乱七八糟的,我只需举一个简单的例子,你就懂了。
这里面我们先看A2:A7,我们选中它然后按F9,先别问为啥按,以后再说哈。
我们会发现原来的A2:A7瞬间变成了{'张三';'李四';'张三';'网二';'码子';'张三'}。是的因为A2:A7就是一个这样的数组,我们的F9是照妖镜,让它现原形了,接下来再Ctrl Z恢复它。再分别选中(A2:A7='张三')和B2:B7,各按F9。公式就变成了下面的样子了
我们知道TRUE是代表1,FALSE是代表0的,这个必须知道哦!这样是不是就很好理解了。SUMPRODUCT是干什么来的着?求乘积和的,现在这两个数组,里面的元素挨个乘积然后求和,就很简单了吧。乘完之后就变成了
50 0 80 0 90,结果等于多少呢?220,我们可以口算一下,左边的表对不对,肯定对嘛!
看到这里是不是对SUMPRODUCT函数有了初步认识了,我用的参数比较长而已,和后面的例子差不多。总之这个函数可以代替SUMIF进行跨工作簿求和,其他的暂时别无其他了,大家记住这个功能就好!
以上,希望对大家有帮助,谢谢!有问题,欢迎下方评论,或者私信,我知无不言!
联系客服