2015-11-22 97 views
0

表中有B到Z列。如果列A的值大於或等於「Mar-15」,我想對包含「Mar-15」的列進行求和。SUMIFS:如何在指定範圍時將公式寫入公式?

所以,如果我有在Sheet1中的以下 -

 A  B  C  D  E 
1   Mar-15 Apr-15 May-15 Jun-15 
2 Feb-15 1  2  3  4 
3 Mar-15 100  200  300  400 
4 Apr-15 1000 2000 3000 4000 
5 May-15 10000 20000 30000 40000 

和我有在列Y和Z如下 -

Y  Z 
1 Month Value 
2 Mar-15 ? 

我希望能夠寫在Z2公式,其總和等於Y2的列中的值和列A大於或等於Y2的列中的值相加。因此,在這裏,公式所需的答案是,因爲Y2包含Mar-15

更清晰,如果Y2包含APR-15,那麼結果在Z2應該

現在,我有公式

=MATCH(Y2,$1:$1,0) 

這給了我2,這是第一行中的列索引,它與Y2中的值匹配。

然後,我修改它來獲得標題的地址 -

=ADDRESS(1,MATCH(Y2,$1:$1,0)) 

這給了我$ B $ 1。獨自得到列,我做=LEFT(ADDRESS(1,MATCH(Y2,$1:$1,0)),2)這給了我$ B

現在,我想做這個地址函數返回的列的SUMIFS,並指定列A應該比越大,條件值在Y2。

=SUMIFS(<something>,A:A,">="&Y2) 

我應該東西是什麼?根據Y2中的值,我想總結的列可以不同。那麼我可以用什麼公式代替

我試圖LEFT(ADDRESS(1,MATCH(Y2,$1:$1,0)),2):LEFT(ADDRESS(1,MATCH(Y2,$1:$1,0)),2)因爲LEFT(ADDRESS(1,MATCH(Y2,$1:$1,0)),2)給我$ B,我認爲這個公式會給我$ B:$ B,但不起作用。

回答

2

行或列,可以「拼接」出與INDEX function的長方形矩陣。 A , 0,或空參數(例如, ,)用於記錄相反參數中的所有單元。在這種情況下,將會指示所選列中的所有行。

sumif_index

在Z2的公式可以是一個任一這些,

=SUMIF(A:A, ">="&Y2, INDEX(B:E, 0, MATCH(Y2, B$1:E$1, 0))) 
=SUMIFS(INDEX(B:E, 0, MATCH(Y2, B$1:E$1, 0)),A:A, ">="&Y2) 

如果在Y3額外值等必要向下填充。

+0

這就是我正在尋找的!我正在玩INDEX功能,但不能像你所做的那樣正確地做到。萬分感謝!它像一個魅力:) – user3164272

2

嘗試此式

=SUMPRODUCT(--(A2:A200>=Y2),INDEX(B2:E200,0,MATCH(Y2,B1:E1,0))) 

它使用MATCH找到看與範圍B2哪一列:E200(0,是指在選定的列中的所有行)。測試A2:A200>=Y2檢查您指定的第一列, - 更改匹配爲1未命中爲0,SUMPRODUCT然後將這些1/09乘以所選列值以獲得結果。

如果您想進一步閱讀看到here

+0

爲什麼SUMPRODUCT而不是SUMIF? – Jeeped