统计指定月份的总金额,用SUMPRODUCT函数快速解决!
发布日期:2024-07-22 03:12 点击次数:84图片
Excel情报局
职场联盟Excel
生产挖掘分享Excel基础技能Excel爱好者大本营 用1%的Excel基础搞定99%的职场问题 做一个超级实用的Excel公众号 Excel是门手艺玩转需要勇气 数万Excel爱好者聚集地SUPER EXCEL MAN图片
图片
图片
1
职场实例
小伙伴们大家好,今天我们来讲解一个关于SUMPRODUCT函数解决指定月份汇总金额的职场真实案例。
如下图所示:是一张每日的产品数量单价明细表格。A列为日期,B列为数量,C列为单价,数量乘以单价即为当天的总金额,但是总金额数据在数据源中是没有体现出来的。我们想要在F2单元格汇总出E2单元格内指定的月份下所有的金额之和。图片
2
解题思路
解决这个问题我们主要是利用SUMPRODUCT函数的原理,配合MONTH函数判断日期值,一起实现最终效果。SUMPRODUCT函数在给定的几组数组中,把数组间对应的元素相乘,最后返回乘积之和。SUMPRODUCT常规函数公式:=sumproduct(数组1,数组2,数组3, ……)
数组里面的相应元素进行相乘后,再将乘积求和。
常规运算过程如下演示:
=SUMPRODUCT({1;2;3},{4;5;6})
=1*4+2*5+3*6
=32
下面我们就来看一下具体操作方法。图片
首先我们在F2单元格输入函数公式:=SUMPRODUCT(B2:B9,C2:C9)这样做,我们只是将所有日期下的数量与单价进行了相乘后并相加的运算,但是忽略了指定哪个日期。SUMPRODUCT函数运算过程:B2:B9={9;2;1;4;9;3;3;3}C2:C9={10;15;15;20;32;10;15;30}用两个区域数组值作为SUMPRODUCT函数的两个参数,用逗号隔开:=SUMPRODUCT({9;2;1;4;9;3;3;3},{10;15;15;20;32;10;15;30})数组里面的相应元素执行相乘后,再将乘积求和的命令:=9*10+2*15+1*15+4*20+9*32+3*10+3*15+3*30=668图片
如果我们想要实现指定月份下的总金额汇总,就需要再在SUMPRODUCT函数内添加一个条件判断作为参数,这里用到了MONTH函数指定月份。=SUMPRODUCT(MONTH(A2:A9)=E2,B2:B9,C2:C9)用MONTH函数强制让其等于E2单元格的数值月份,这样就得到了一个由逻辑值TRUE和FALSE组成的判断结果数组:MONTH(A2:A9)=E2={TRUE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE}也就是说如果A2:A9单元格内的月份等于1月的话,返回逻辑值真值,即TRUE;如果A2:A9单元格内的月份不等于1月的话,返回逻辑值假值,即FALSE。但是我们发现完善公式后返回的结果是错误的,这是为什么呢?图片
原因就是由MONTH函数产生的由逻辑值TRUE和FALSE组成的数组元素并不能直接和后面的常量数组产生运算,需要对MONTH函数部分整体乘以1:=SUMPRODUCT((MONTH(A2:A9)=E2)*1,B2:B9,C2:C9)MONTH函数部分整体乘以1后,变成由1和0组成的新数组,在Excel中,TRUE*1=1,FALSE*1=0,这是固定规律。(MONTH(A2:A9)=E2)*1={1;1;0;0;0;1;0;0}这样SUMPRODUCT函数再次重新执行相乘后,再将乘积求和的命令:=SUMPRODUCT({1;1;0;0;0;1;0;0},{9;2;1;4;9;3;3;3},{10;15;15;20;32;10;15;30})得到指定的月份1月下的总金额结果150。
图片
回顾关键内容,善用图片表达,学会建立联系,拓展深度广度,浓缩关键概念,应用到行动中,善于归纳总结,尝试进行分享。图片
图片
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。