我有一个数据库,其中包含按天订购的产品。如何制作一个excel公式,以便按月对值进行求和,以便在我向下拖动时每个月自动填充总和? 我希望这个公式在另一张表中,我不能在这张表中再创建任何列。 例如:
Col A Col B
5/1/2014 411
5/2/2014 332
5/3/2014 247
5/4/2014 369
5/5/2014 780
5/6/2014 577
5/7/2014 653
5/8/2014 848
5/9/2014 925
5/10/2014 911
5/11/2014 444
5/12/2014 327
5/13/2014 440
5/14/2014 503
5/15/2014 613
5/16/2014 753
5/17/2014 875
5/18/2014 404
5/19/2014 628
5/20/2014 776
5/21/2014 829
5/22/2014 505
5/23/2014 515
5/24/2014 703
5/25/2014 511
5/26/2014 747
5/27/2014 707
5/28/2014 782
5/29/2014 101
5/30/2014 113
5/31/2014 283
答案 0 :(得分:-1)
假设日期在A列中且值在B列中,您可以使用以下公式作为1月小计。
=SUMPRODUCT((MONTH($A$1:$A$1000)=ROWS(A$1:A1))*$B$1:$B$1000)
填写将获得随后几个月的小计。
说明:
$A$1:$A$1000
是您的所有日期。更改此引用以匹配您的特定工作表和行数。
MONTH($A$1:$A$1000)
生成一组数字,表示每个日期的月份,例如您的示例数据将生成{5, 5, ..., 5}
。
ROWS(A$1:A1)
是让公式在下次填写时检查的技巧。对于第一个条目,这将等于1(1月的月份数),下一个将等于2(2月的月份数)。
MONTH($A$1:$A$1000)=ROWS(A$1:A1)
生成一个布尔值数组,指示每个月是否属于指定的月份,例如,对于您的样本数据,数组将为{FALSE, FALSE, ..., FALSE}
,因为没有一个日期属于1月份。
MONTH($A$1:$A$1000)=ROWS(A$1:A1)*$B$1:$B$1000
成对地将B列中的值乘以布尔值数组。因此,来自非匹配月份的数据返回0并且匹配返回来自B的值。
SUMPRODUCT
会添加此数组中的值,仅为指定的月份提供总计。