获取基于另一列日期过滤的列值的总和

时间:2016-02-04 23:32:21

标签: excel excel-formula excel-2010 excel-2007

我有一个电子表格,基本上有几百行看起来像这样

|01-Jan-16 (Fri) | Work | 0 |   0 | 3 | 0 | 9 | 7 | 0 | 0 |

我一直在尝试生成一个查询,该查询将计算任何给定季度中每列的总数。因此,它基本上会选择第1-3,4-6,7-9,10-12个月的所有日期,并计算所有8列中的总值。

我已经尝试了sumsif和sumproduct但是我无法让它工作,我现在正在玩

=SUMPRODUCT( (MONTH('2016'!$A4:$A999)=1) * (MONTH('2016'!$A4:$A999)=2) * (MONTH('2016'!$A4:$A999)=3) * ('2016'!$C4:$C999) )

=SUMIFS('2016'!C4:C999, '2016'!A4:A999, "<=3", '2016'!A4:A999, ">=1")

=SUMPRODUCT((MONTH('2016'!$A4:$A999)>=1)*(MONTH('2016'!$A4:$A999)<=3)*('2016'!B4:B999))

2 个答案:

答案 0 :(得分:0)

日期字段不是日期值,而是字符串,因此导致问题的原因。要使其工作,您需要提取匹配的日期值。我使用基于您的示例创建的数据对此进行了测试,但它确实有用。

= SUMPRODUCT((MONTH(DATEVALUE(MID(A2:A5,1,9)))≤; = 3)*(C2:J5))

答案 1 :(得分:0)

这对我有用。

=SUMPRODUCT( (MONTH('2016'!$A4:$A999)=1) * (MONTH('2016'!$A4:$A999)=2) * (MONTH('2016'!$A4:$A999)=3) * ('2016'!$C4:$C999) )