excel如何按不同阶段汇总的计算
2021年11月26日 14:31 发布来源:Excel学习网
在日常工作中,经常会有一些根据不同阶段总结出来的计算。例如,如下图所示,今年的销售额汇总在一组销售记录中。
D4中使用的公式是:
=sumproduct((year(A2:A13)=year(today()))*B2:B13)
公式使用YEAR函数计算单元格A2:A13中日期的年份,结果是由年份组成的内存数组。用year(today())计算当前日期的年份,结果是2015年。
用当前日期的年份判断A2:A13的年份,得到一个由逻辑值true或false组成的内存数组,然后将逻辑值乘以b列的销售计划。
在数组运算中,true等于1,而false等于0,即1或0乘以b列的销售计划,最后用sumproduct函数计算产品之和,结果为737。
如果要计算当前月份的总销售计划,只需要将公式中计算年份的year函数替换为month函数,计算过程是一样的。
如下图所示,如果需要计算本周的总销售计划,应该如何计算?
对于这里的一周,规则基于每个人的日常习惯,从周一开始,到周日结束。
D4中使用的公式是:
=sumproduct((weeknum(--A2:A13,2)=weeknum(today(),2))*B2:B13)
使用公式WEEKNUM函数计算一年中某个日期的周数。第二个参数是“2”,这意味着一周的开始日期是星期一。
WEEKNUM(--A2:A13,2)返回当前年份的周数组,日期在列a中
WEEKNUM函数的第一个参数不能直接使用日期区域。如果使用WEEKNUM(A2:A13),公式将返回一个错误。但是,如果将区域引用更改为“-date area”、“1* date area”和“0 date area”形式的内存数组引用,则可以打破这一限制,结果将是包含周的内存数组。
其他计算过程与我们前面提到的年度计算相同。
在这个例子中,我们只能处理所有日期都在一年内的情况。如果有不同年份的数据,我们需要用遍历的方法来计算:
=sumproduct(sumif(A2:A13,"="&(today()-weekday(today(),2)+row(1:7)),B2:B13))
weekday(today(),2)部分,计算当前周值,并从当前日期today()中减去当前周值,该日期是最后一个星期日的日期。添加行(1:7)以获取周一到周日的日期值。接下来使用sunif函数,以A2:A13为条件区,以周一到周日的日期值分别为求和条件,计算单元格区B2:B13对应的销售计划金额,得到一个内存数组:
{80;83;77;80;0;88;80}
然后用sumproduct函数计算乘积之和。
原创文章如转载请注明:转载自Excel学习网 [ http://www.excelxx.com/]
需要保留本文链接地址:http://www.excelxx.com/jiqiao/14178.html
需要保留本文链接地址:http://www.excelxx.com/jiqiao/14178.html
相关教程:
经典Excel学习视频及教程推荐:
Excel优秀工具推荐:
小工具推荐: