2012-10-10 48 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