• ベストアンサー

複数条件を満たした行列の集計

コード  科目  4月   5月 ・・・・・ 3月 1000     A   3,000    3,500    2,800 1010     B    1,600    2,250    3,140 1020     C    4,500   1,950    3,400 2000      D    2,800    3,670    6,400 2020      E    1,300    1,450    1,700 2030      F    8,400   7,800    6,950 3000      G    7,300    7,200    7,100 3050      H    2,500    2,600    2,650 3060     I    3,400    4,200    4,100 ------------------------------------------------- 条件1      18,200    16,850    17,400 条件2      12,800    13,720    16,490 上記のようにコードと科目毎に月別(4月~翌年3月)までの1年間の 表があるとします。 例えばコードの「1000」と「1020」と「3000」と「3060」の月毎の合計値を出したい時に EXCELの数式ではどのようにすれば効率的に出来るのでしょうか?(条件1) 同様に「1010」+「2000」+「2030」を条件2とします。 SUMIFとかVLOOKUPとかANDとかを色々と組み合わせたりしてやってみたのですが どうも上手く行きません。 EXCELに詳しい方のお知恵を拝借致したく宜しく御願い致します。

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

  • ベストアンサー
  • FEX2053
  • ベストアンサー率37% (7991/21371)
回答No.2

1.ピボットテーブルを使ってコード毎の合計値を出し、手動で加算する。  多分この方法が一番簡単で分かりやすく、後で応用が利くかと。 http://support.microsoft.com/kb/318729/ja 2.データベース機能を使って必要なコードのみを表示させ、合計する  一応慣れれば一発で合計が出てきます。 http://www.eurus.dti.ne.jp/yoneyama/Excel/filter.htm http://www11.plala.or.jp/koma_Excel/contents6/mame6042/mame604201.html 3.SUMIF関数を使う。抽出条件が多いときは一個ずつ計算して合計。  式を理解するのが大変だけど、作ってしまえば後は一発。 http://kokoro.kir.jp/excel/sumif.html 一応、勉強の為に直接回答を示してませんが、慣れれば簡単なので、 自力で挑戦して見て下さい。

skyhawk
質問者

お礼

ありがとうございます。 3.のリンク先に書いてあるDSUM関数で出来ました。

その他の回答 (3)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.4

条件1の4月の集計はこんな式でも可能です =SUMPRODUCT(NOT(ISERROR(FIND({1000,1020,3000,3060},$A$2:$A$10)))*(C2:C10)) >ではどのようにすれば効率的に出来るのでしょうか? でも実務でこのような式を使うと表が変更されたとき、他の方はメンテナンスできるでしょうか? 個人的には後々を考えて、式が多少長くなるかもしれないですがSUMIF関数を4つならべる方法をおすすめします。 =SUMIF($A$2:$A$10,1000,C2:C10)+SUMIF($A$2:$A$10,1020,C2:C10)+SUMIF($A$2:$A$10,3000,C2:C10)+SUMIF($A$2:$A$10,3060,C2:C10)

skyhawk
質問者

お礼

有難う御座います。 教えて頂いた数式で上手く行きますね!

noname#79209
noname#79209
回答No.3

長い式になりますが、 条件1 =SUMPRODUCT((($A$2:$A$10="1000")+($A$2:$A$10="1020")+($A$2:$A$10="3000")+($A$2:$A$10="3060"))*(C$2:C$10)) 条件2 =SUMPRODUCT((($A$2:$A$10="1010")+($A$2:$A$10="2000")+($A$2:$A$10="2030"))*(C$2:C$10)) で如何でしょう。

skyhawk
質問者

お礼

ご回答有難う御座いました。 試みに例示した表でやって見たのですが上手くいきませんでした。

  • assault852
  • ベストアンサー率48% (1364/2797)
回答No.1

SUMIFとSUMIFを足せばいいじゃないですか。 =SUMIF(B12:B13,1000,C12:C13)+SUMIF(B12:B13,1010,C12:C13)

skyhawk
質問者

お礼

ありがとうございます。 SUMIFを加算していくのは解るのですが、 もっと簡潔な数式で出来ないのかを探していました。