2012-02-03 103 views
1

的挑戰爲Excel用戶: 我有下面的表:Excel公式 - SUMIF或

Year || Week || Output 
2011 || 50 || 1000 
2011 || 51 || 2000 
2011 || 52 || 1500 
2012 || 01 || 1200 
2012 || 02 || 1700 
2012 || 03 || 1900 

我要總結的列輸出是某一年/周之間的值和另一年/周。例如:

  • 2011/50和2011/52之間。結果= 1000 + 2000 + 1500 = 4500
  • 2011/51和2012/02之間。結果= 2000 + 1500 + 1200 + 1700 = 6400

謝謝大家提前。

問候, MH

+0

Excel 2003,2007,...? – Eder 2012-02-03 22:48:09

回答

2

我的步驟:

  1. 年份= A,周= B,輸出= E
  2. 創建臨時塔(C)保持:{Year}*100 + {Week}
  3. 創建兩個輸入設置爲邊界(也與{Year}*100 + {Week}) - <LOW> & <HIGH>。沒有D實測值的另一種方法:
  4. 與此式創建臨時柱(d):

=IF(AND(C2>=<LOW>,C2<=<HIGH>),1,0)*E2

然後,求和單元變爲:

=SUM(D:D)

EDIT從上面的列

 
N1 = LOW (year*100 + week) 
O1 = HIGH (year*100 + week) 

N2 => =TEXT(N1) 
O2 => =TEXT(O1) 

=SUMIFS(E:E,C:C, CONCATENATE(">=", $N$2),C:C, CONCATENATE("<=", $O$2))

0

您可以使用SUMIFS(),如果您使用的是Excel 2007或以上。

=SUMIFS(C2:C7, A2:A7, "=2011", B2:B7, ">49", B2:B7, "<53") 

否則,你仍然可以使用Excel宏。

+0

年份發生變化時,這將失敗。 – GSerg 2012-02-03 22:58:35

+0

感謝您的快速回答。如何總結不同年份的時間間隔?例如:2011_50至2012_02? – miklas21 2012-02-03 22:59:33

+0

想想做(年* 53 +周)。 – 2012-02-04 02:17:39

0

假設你的數據在A1:C6,你可以用數組公式做這(使用Shift鍵輸入+ Ctrl + Enter):

=SUM((A1:A6=2011)*(B1:B6>=50)*(B1:B6<=52)*(C1:C6)) 

或者,用SUMPRODUCT(進入如正常):

=SUMPRODUCT((A1:A6=2011)*(B1:B6>=50)*(B1:B6<=52)*(C1:C6)) 

很明顯,您需要輸入或引用您的標準。另外,如果年份會發生變化,那麼您需要另一個詞來檢查最大年份。

+0

你的sumproduct不需要逗號而不是星星嗎? – Jesse 2012-02-03 23:20:14

+0

不好,就這樣工作。逗號會把它搞砸。 – 2012-02-04 06:29:56