精通一个SUMPRODUCT函数,求和再无难题,胜过会100个函数!
最近几天,有好几个VIP学员都提出类似的问题,左边为明细数据,右边为固定布局,需要按条件求和。有的说是要导入系统,有的是说是领导规定的,反正右边的各种顺序、格式都不能动。
正常的话,这种布局用透视表,那是最好的。不过,实际内容超级多,不能保证跟原来顺序、格式一模一样,只能退而求其次,用函数条件求和。跟着卢子一起来看看。
左边是具体日期,需要转换成月份,这样才能跟右边一样。
=TEXT(A2,"m月")
右边的月份采用合并单元格,需要填充内容才行。这里的1月是文本内容,而"座"是接近最大的文本,LOOKUP查找最后满足条件的值,从而可以填充内容。
=LOOKUP("座",$G$1:G$1)
现在准备工作做完了,直接套上SUMPRODUCT的求和套路就搞定。
=SUMPRODUCT(($E$2:$E$1977=G$10)*($B$2:$B$1977=$F3)*($C$1:$D$1=G$2)*$C$2:$D$1977)
用SUMPRODUCT还有一个好处,就是各种参数都支持套用其他函数,这样就可以不用辅助列,相当方便。
=SUMPRODUCT((TEXT($A$2:$A$1977,"m月")=LOOKUP("座",$G$1:G$1))*($B$2:$B$1977=$F3)*($C$1:$D$1=G$2)*$C$2:$D$1977)
使用区域的时候,最好别引用整列,一来运算速度慢,二来用连乘的方法会出错。
如果一定要引用整列也行,将最后一个*改成,就行。
=SUMPRODUCT((TEXT($A:$A,"m月")=LOOKUP("座",$G$1:G$1))*($B:$B=$F3)*($C$1:$D$1=G$2),$C:$D)
如果这么复杂的问题,你都能1,2分钟写出来,求和再无难题。
最后再重复一遍语法,可以多条件,也可以单条件,如果引用整列用语法2。
=SUMPRODUCT((条件区域1=条件区域1)*(条件区域2=条件2)*求和区域)
=SUMPRODUCT((条件区域1=条件区域1)*(条件区域2=条件2),求和区域)
如果你经常看文章,你会发现卢子的文章用来用去就这么几个函数,但是案例却相差十万八千里。你如果练到不管什么案例,都能用几个常用的函数解决,那你就已经超级厉害了。
要用心学好一个函数,而不是求多学一大堆,最后啥也不是。
作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)
赞 (0)