数组函数:如何总结date范围?

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

这是我们用来根据满足的单个参数来求和各列的标准数组公式,在这个例子中是$ F $ 6,在F列内。

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

但是,我们现在希望对该范围内的最近date之前30天的那组date进行汇总。

这些值将在date列A中满足这个条件:

 ">"&MAX($A$5:$A$100000)-30 

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

我有什么我在这里失踪?

如果您使用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做类似的事情

你最好用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 ))