• ベストアンサー

3つ以上で合計をする

エクセル2003を使用しています。2個の条件ではDSUMを使用して合計を計算することはできたのですが、SUMIFSが使用できないエクセル2003で条件を増やして合計を求めにはどうしたらよいのでしょうか?

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

No.2・4です。 >表の数値の合計でなく該当する人数(件数)の求め方・・・ についてですが、 結論としては前回の数式の「数値」列を入れないだけです。 SUMPRODUCT関数は「AND検索」になりますので、 前回の画像では A列がTRUE(TRUE=1)かFALSE(FALSE=0)かを判断し、各列を掛け合わせそれを合計したものが SUMPRODUCT関数で返す結果となりますので 複数列検索の一つでもFALSE「0」があればその行全体が「0」となります。 すなわち「個数(件数)」だけの求め方は、前回の配置だとJ2セルを (前回はI列を条件に入れ忘れていました。) =SUMPRODUCT((A1:A100=G2)*(B1:B100=H2)*(C1:C100=I2)*(D1:D100<>0)) という数式にすれば A列がG2かつ、B列がH2かつ、C列がI2かつ、D列が0以外の個数が表示されます。m(_ _)m

asayukiasa
質問者

お礼

ありがとうございました。私の持っている教本ではSUMPRODUCT関数の説明が良く分らなかったのですが、そういう事だったのですか。分りやすい説明でした。

その他の回答 (4)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

No.2です。 >たとえば0以外の条件設定のやり方・・・ とありますので、「0以外」としてみました。 一つ一つ数式に条件を入れると違う条件での検索が面倒なので ↓の画像のようにしてみました。 G2~I2セルにA~C列の条件を入力し、その条件で「0」以外としています。 J2セルに =SUMPRODUCT((A1:A100=G2)*(B1:B100=H2)*(D1:D100<>0),E1:E100) という数式を入れると 画像のような表示となります。 0以外の場合は <>0  0より大きい場合は >0 0以上の場合は >=0 のような書き方になります。 ※ 前回も書きましたがSUMPRODUCT関数は配列数式になりますので、データ量が極端に多い場合は おススメできませんので、作業用の列を設けて 各条件に一致するものだけ何らかの記号を付ければ、SUMIF関数だけで対応できます。 この場合列すべてを範囲にできます。m(_ _)m

asayukiasa
質問者

お礼

ありがとうございました。<>0で合計を算出することができました。表の数値の合計でなく該当する人数(件数)の求め方も教えて頂けませんか?よろしくお願いします。

  • Cupper-2
  • ベストアンサー率29% (1342/4565)
回答No.3

SUMPRODUCT関数を応用して合計する。 …のが王道かな。  =SUMPRODUCT(条件式×条件式×…) になります。  例えば、  A列に年齢、B列に性別、C列に既婚か独身かが記入されていて  「20歳以上」、「40歳未満」の「未婚」の「男性」の人数を数えるなら  =SUMPRODUCT((A1:A10>=20)*(A1:A10<40)*(B1:B10="男性")*(C1:C10="独身")) みたいな感じになります。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! Excel2003までの場合は SUMPRODUCT関数で対応するようになります。 どのような表になっているのかが判らないので =SUMPRODUCT((A1:A100=条件1)*(B1:B100=条件2)*(C1:C100=条件3),合計数値列) といった感じですかね! ※ SUMPRODUCT関数は配列数式になりますので、極端にデータ量が多い場合はおススメしません。 作業用の列を設けるなりして極力PCに負担を掛けない方法が良いと思います。m(_ _)m

asayukiasa
質問者

お礼

ありがとうございました。合計を算出することができました。もう少し教えて頂きたいのですが、多条件での件数のだしかたと、条件で”以外”たとえば0以外の条件設定のやり方を教えてください。

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

3個でもDSUMで出来ますけど。。。 1.複数条件を計算した列を用意する。 =AND(条件1,条件2,条件3・・・) 他の方法だと、メモリの消費が大きいので大量にはお勧めできませんが 2.SUMPRODUCT関数を利用する =SUMPRODUCT((条件1),(条件2),・・・,(集計範囲)) 3.CTRLキー&SHIFTキーを押しながらENTERキーで集計関数化 {=SUM(IF(AND(条件1,条件2,条件3・・・),集計範囲,0))} ※式の前後の{ }はCTRLキー&SHIFTキーを押しながらENTERキーで設定されます。 詳細は下記URLを参照してください。 http://www.geocities.jp/chiquilin_site/data/050208_more_conditions.html

関連するQ&A