设置主页 | 收藏本站 Excel学习网-公益型的EXCEL在线学习网站,助您轻松办公!

excel如何按不同阶段汇总的计算

2021年11月26日 14:31 发布来源:Excel学习网

    在日常工作中,经常会有一些根据不同阶段总结出来的计算。例如,如下图所示,今年的销售额汇总在一组销售记录中。

20200103185536-5e0f8e287321e.jpg

  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函数,计算过程是一样的。
  如下图所示,如果需要计算本周的总销售计划,应该如何计算?
  对于这里的一周,规则基于每个人的日常习惯,从周一开始,到周日结束。
20200103185536-5e0f8e289d463.jpg
  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.excelcn.com/]
需要保留本文链接地址:http://www.excelcn.com/jiqiao/14178.html
分享到:
网站地图 | XML地图 | 免责声明 | 关于我们 | Excel学习网:优秀的EXCEL在线学习和资源分享网站。
版权所有: CopyRight © 2013-2018 www.excelcn.com All Rights Reserved.
豫ICP备12002644号