1

Excel ユーザーへの課題: 次の列を持つテーブルがあります。

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

4

3 に答える 3

2

私のステップ:

  1. 年=A、週= B、出力= E
  2. 以下を保持する一時列(C)を作成します。{Year}*100 + {Week}
  3. 境界の2つの入力セットを作成します(これも{Year}*100 + {Week})- <LOW><HIGH>
  4. 次の式を使用して一時列(D)を作成します。

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

次に、合計セルは次のようになります。

=SUM(D:D)

編集D:上から列がない別の方法を見つけました

N1 = LOW(年* 100 +週)
O1 = HIGH(年* 100 +週)

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

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

于 2012-02-03T22:58:17.733 に答える
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))

明らかに、基準を入力または参照する必要があります。また、年が変わる場合は、最大年を確認するために別の用語が必要になります。

于 2012-02-03T23:04:11.407 に答える
0

SUMIFS()Excel 2007 以降を使用している場合は、 を使用できます。

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

それ以外の場合は、引き続き Excel マクロを使用できます。

于 2012-02-03T22:55:44.793 に答える