2012-10-10 47 views
0

我们有一个相当复杂的阵列问题,我们试图克服:数组函数:如何总结日期范围?

这是我们用来根据满足单个参数来求和各列的标准数组公式,在这种情况下值$ 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 

但是我无法看到它集成到所述第一阵列式作为附加参数的一种方式,以数组公式只能使用单一的值,而不是范围..

我有什么我在这里失踪?

回答

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的

你可以,如果你使用的是Excel 2007或更高版本修改您的数组公式是这样

=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 ))

+0

做类似的事情非常翔实:亲切的问候此..也会尝试阵列调整。 – user1717622

+0

最后一点:只有当我们也有> MAX('所有的PIVOT'!$ A $ 5:$ A $ 100000)-30 IE不要忘记在MAX函数中获得正确的表格 – user1717622

1

,可以考虑使用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

+0

我认为我们用粗略回答同样的建议,克里斯+1使用整列参考.... –

+0

哇!我不知道这是已经介绍..会有一个去! – user1717622