• ベストアンサー

複数列の集計(Excel)

下記のような物をExcel2000で作りたいのですが可能でしょうか? まず、データとして下のようなリストがあります。 A(列)     B(列)     C(列)     D(列) 日付1     数値1   日付2    数値2 2004/6/1   100    2004/7/2   500 2004/1/3   300    2004/1/3   400 2004/3/15   540    2004/5/4   980 2004/1/1   800    2004/8/6   230 2004/1/3   200    2004/2/8   450    ・      ・       ・      ・    ・      ・       ・      ・    ・      ・       ・      ・ 列数は決まってますが、行数は増えていきます。 そして別のシートに下のようなリストが別にあり、 A(列)       B(列)       C(列)      D(列) 2004/1/1    2004/1/2    2004/1/3    2004/1/4・・・(31日まで続きます) ここにある日付と先ほどのリストの日付1と日付2を照合して、 日付1で一致したら数値1の数値を 日付2で一致したら数値2の数値を 持ってきて、なおかつそれを合計した数値を表示したいのです。 上のデータを使って表現すると下のようになって欲しいのです。 A(列)       B(列)       C(列)      D(列) 2004/1/1    2004/1/2    2004/1/3    2004/1/4・・・(31日まで続きます) 800                  900 つまりはその日毎の数値の合計値が欲しいのですが、 検索値となる日付が2列(複数列)に分かれてしまっていて うまくいきません。 自分の仕事を丸投げするようで大変申し訳ないのですが どなたかお教えいただけませんでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • esprei
  • ベストアンサー率56% (718/1271)
回答No.1

次のような式で出来ると思います。 データシートをSheet1とした場合。 =SUMIF(Sheet1!$A:$A,A1,Sheet1!$B:$B)+SUMIF(Sheet1!$C:$C,A1,Sheet1!$D:$D) sumifで、A列の日にちを検索して数値を足す、さらにC列の数値も同じように足す。 この二つの数値を足すって感じですね。 後は、列を指定しているところに絶対参照の$を付けておけば、横に式をコピーできます。

lenpou
質問者

お礼

回答頂き、まことにありがとうございます。 今回はSUMIFの使用で無事に作成することができました。 また質問する機会がありましたら またぜひよろしくお願い致します。

その他の回答 (2)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

SUMIF以外だと =SUMPRODUCT((Sheet1!$A$2:$A$6=A$1)*(Sheet1!$B$2:$B$6)+(Sheet1!$C$2:$C$6=A$1)*(Sheet1!$D$2:$D$6)) データの範囲は名前付した方が楽だと思いますよ。

lenpou
質問者

お礼

回答頂き、まことにありがとうございます。 今回はSUMIFの使用で無事に作成することができました。 また質問する機会がありましたら またぜひよろしくお願い致します。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 1つのSUMIF関数でも出来ます。 A2に、 =SUMIF(Sheet1!$A:$C,A$1,Sheet1!$B:$D) と入力して、右へコピーします。 ポイントは、第1引数(条件範囲)と第3引数(合計範囲)が1列ずれているところです。

lenpou
質問者

お礼

回答頂き、まことにありがとうございます。 今回はSUMIFの使用で無事に作成することができました。 また質問する機会がありましたら またぜひよろしくお願い致します。