数组函数:如何求和日期范围?

时间:2012-10-10 09:51:06

标签: excel

我们正在尝试克服一个相当复杂的阵列问题:

这是我们用来根据满足的单个参数对各列进行求和的标准数组公式,在这种情况下值为$ k $ 6,在F列中。

=SUM(('EVERYTHING PIVOT'!$F$5:$F$100000=$K$6)*('EVERYTHING PIVOT'!$K$5:$K$100000))

但是,我们现在希望对该范围内最新日期之前30天的那组日期的值进行求和。

值将在日期栏A:

中满足此条件
">"&MAX($A$5:$A$100000)-30

但是我看不到将它作为附加参数集成到第一个数组公式中的方法,因为数组公式只能使用单个值而不是范围..

我在这里缺少什么?

2 个答案:

答案 0 :(得分:1)

对于你的原文,你最好使用SUMIF,即

=SUMIF('EVERYTHING PIVOT'!$F$5:$F$100000,$K$6,'EVERYTHING PIVOT'!$K$5:$K$100000)

如果您使用Excel 2007或更高版本(并且可能是您这样做,否则您无法使用100,000行),则可以在SUMIFS函数中添加一个标准,即

=SUMIFS('EVERYTHING PIVOT'!$K$5:$K$100000,'EVERYTHING PIVOT'!$F$5:$F$100000,$K$6,'EVERYTHING PIVOT'!$A$5:$A$100000,">"&MAX($A$5:$A$100000)-30)

请注意,SUMIFS的语法不同,总和范围在开头

在旧版本的Excel中,您可以像这样修改数组公式

=SUM(('EVERYTHING PIVOT'!$F$5:$F$100000=$K$6)*('EVERYTHING PIVOT'!$K$5:$K$100000)*('EVERYTHING PIVOT'!$A$5:$A$100000>MAX($A$5:$A$100000)-30 ))

答案 1 :(得分:1)

如果您使用的是Excel 2007或更高版本,请考虑使用SUMIFS

=SUMIFS('EVERYTHING PIVOT'!$K:$K,
        'EVERYTHING PIVOT'!$F:$F,$K$6,
        'EVERYTHING PIVOT'!$A:$A,">"&MAX('EVERYTHING PIVOT'!$A:$A)-30)

SUMIFS在符合多个条件的范围内添加单元格

SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)

如果使用excel 2003或更早版本,您可以使用SUMPRODUCT

执行类似的操作