• ベストアンサー

エクセル関数 複数の条件に合う合計の出し方を教えてください。

Sumifの使い方は解かるのですが、条件をもうひとつ増やした上で合計を出すにはどうすればいいのですか? たとえば・・・ ・列A~Dにそれぞれ「月」「日」「項目」「金額」を入れます。 ・月はもちろん12月まで、項目は消耗品ほか何十種類もあり、購入した物を、月や項目に分けずどんどん記入する。(月別の表にすれば簡単なのはわかっているのですが、とにかく今回は1つの表にまとめたいのです!) ・別のシートに1月から12月まで各項目ごとに合計を出す。 そこで、 1「月」の 消耗品「項目」の合計を出す関数を教えてください。  説明が下手ですみません。解からない所は後で補足しますので、お願いします。

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

  • ベストアンサー
回答No.7

配列数式を使うのがいいと思いますが、 前に同じような質問があったので、 参考にして下さい。 質問の例だと A列が1で、C列が消耗品の場合の、D列の合計 という式を作ればいいわけです。 データが2行目から100行目まであると仮定すると、 {=sum(if($A$1:$A$100=1,if($C$1:$C$100="消耗品",$D$1:$D$100,0)))} 最後の0は「それ以外のものを0としてその合計をだせ」です。 普通に「=」から最後の「)」までを入力し、 shiftキーとCtrlキーを押しながら、Enterキーを押すと、 { }で囲まれます。 「=1」や「="消耗品"」のところはセル指定でもできます。 たとえば、表頭に項目、表側に月があれば、そのセルを指定し、下にコピーしてあげれば一発で集計できます。 数式の中の範囲指定に$がつけてあるのは、絶対参照にするためですので、念のため。 下や横にコピーしたときにずれていかないためです。 試しにはずしてやってみてください。 1行、1列ずつすれていくはずです。

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=878939

その他の回答 (6)

  • banzaiA
  • ベストアンサー率16% (100/595)
回答No.6

#5です。 ウィザードでできませんか? 1 ピボットテーブル/ピボットグラフウィザード-1/3   Excelのリスト/データベース とピボットテーブルをチェックして次へ。 2 処理する範囲を指定します。 次へ 3 テーブルの作成先を指定して 完了 そうすると 項目を表示した小さなボックスが表示されそこからシートのそれぞれにドラッグします 4 上の横長の部分(列)に 月をドラッグ 5 行のフィールドに  項目 をドラッグ 6 金額を右下の広いところにドラッグ これで出来上がると思いますが。 やってみてください

  • banzaiA
  • ベストアンサー率16% (100/595)
回答No.5

私は、ピボットテーブルを使いますが。

guchan00001
質問者

お礼

ありがとうございます。 ウィザードでやってみました。 さっぱりわかりません・・・^^;

  • alba0910
  • ベストアンサー率29% (12/41)
回答No.4

ツール⇒ウィザード⇒条件付合計式を使うと簡単です。 ウィザードがない場合は、ツール⇒アドインで、条件付合計式ウィザードにチェックを入れます。

guchan00001
質問者

お礼

アドインで、チェックを入れたらインストールされてないと表示が出てしましました。 何とかできるようになりましたのでありがとうございました。

  • boy_boy
  • ベストアンサー率55% (56/101)
回答No.3

こんにちは。 >答えは0 月の部分が数値入力だと勝手に判断してしまいましたが 実際には「月」の入力はどうされていますか?

guchan00001
質問者

お礼

月項目には数値のみ入力しています。 気になってもう一度、やってみたところちゃんと計算できました。 さっきはどこか間違っていたみたいです。 教えていただいたのにあわててすみませんでした。

回答No.2

別に、無理して1つのセルで計算を終えなくても良いんですよ。 例えば、 A  B  C    D   E F G H I J ... 月 日 項目  金額 1 2 3 4 5 6  1  12 備品  1000 2  20 消耗品  500 2  22 消耗品  250 1  15 設備費  100 3  1  備品   800 5  5  工事費  200 4  12 備品   30 3  30 消耗品  10 2  16 備品   100 2  5  設備費 1500 1  8  備品   300 で、E列以降に1月、2月、3月、...の予備のセルを用意しておき、そこに、 =if(C3="消耗品",D3,"") のようにしておきます。 そして、E列の合計を好みの場所で求めればいいのです。 空いているに、途中経過の計算や関数の結果を入れておくのは、恥ずかしいことではありません。 こうすれば、途中経過も見えてきますので、どこで計算に失敗したかも見えてきます。 こういっちゃ何ですが、広大なExcelのシートを全て使い切っているなんて事はないと思います。

guchan00001
質問者

お礼

さっそくのお返事ありがとうございます。 沢山のセルをうまく活用すればいいのですね。つい、関数、関数・・・と思ってしまいました。 先ほどやってみました。計算をさせている所は隠してしまいましたので、とてもすっきり、思い通りになりました。 また機会がありましたら、よろしくお願いします。

  • boy_boy
  • ベストアンサー率55% (56/101)
回答No.1

こんにちは。 =SUMPRODUCT((セル範囲=1)*(セル範囲="消耗品"),合計範囲) の様な感じにします。 ※範囲は列単位では指定出来ません。

guchan00001
質問者

お礼

さっそくのお返事ありがとうございます。 書いていただいた式をコピーして貼り付け、必要な所を書き直してみました。エラーにはなりませんでしたが、答えは0。入力が済んでいるので0であるはずは無く、何がおかしいのかいろいろやってみましたがだめでした。 でも、SUMPRODUCTは是非使ってみたいので、勉強してみます。 ありがとうございました。

関連するQ&A

  • エクセル関数について

    関数初心者です。教えてください。 1月から12月までのシートがあり、最後に合計のシートがあります。 全シート同じ表になり、金額を入力していくのですが、 最後の合計シートの月別に入力した同じセル上に1月から12月の合計を出したい場合は どのような関数、引数になるのでしょうか? どうぞ宜しくお願いします。

  • EXCELでの条件付き合計

    EXCELで以下のような表を作成しました。 ・日付の行数はランダムです。 (無い日付もあれば複数行ある日付もあります) ・日付の列,金額の列にはそれぞれ”日付”,”金額”と名前をつけています。 ある日付からある日付までの金額の合計を計算したいと考えています。 SUMIF関数を使用すればできそうだということはわかるのですが, 日付の条件をどのように入力すればいいのかがよくわかりません。 どのように入力すればいいのでしょうか? 日付     金額 12月1日    123     12月15日    962    12月31日     56

  • エクセルで複数条件での集計方法

    シート1 A列に200301~200312のような年月(出荷月) B列に商品コード(AA~XX、01~99) C列に金額 があります 全部で約1000行程度です。 A列は順番に並んでいますがB列はまちまちです。同じ200301でもAA、AA、AB,YY,AB、YYのような感じです。 シート2に月別、商品別の一覧を作りたいのです。 A2以下に商品コード,B1に200301,C1に200302以下右へ200312まで展開したいのです。 A2の商品コードがAAだとして、たとえばB2には商品AAの2003年1月(200301)の出荷合計を合計して入れるためにはどんな関数をいれればいいのでしょうか?SUMIFでできるかと思ったのですが、うまくいきません。教えてください。

  • 複数のシートにまたがる~以上~以下の合計

    複数のシートに同じ表があり、そのなかのA列にある数字を合計したいのですが・・・   A   1 170 2 160 3 100 4 210 5 480 それぞれのシートのA列にある数字を170以上480以下のものだけ合計したシートを作りたいのです。 SUMIF関数かな?と思いながら良くわからないのですが・・・どなたか教えてください! 宜しくお願いします<m(__)m>

  • エクセルで二つの条件での合計値

    こんにちわ。 関数でいろいろやってみているのですが、どうしてもうまくいきません。 シート1に一覧表があります。A列にコード番号(約500番)、B列に名前、C列に種類わけ(10種類・リストにしています)、D列に数字が入っています。これが約5000行あります。 これをシート2に、コード番号(A列)及び種類(C列)が一致するものの数字(D列)の合計を出した、自動更新される集計表を作りたいのです。 しかも、C列の種類わけしているものの中から、2つずつペアリングしての数字(D列)の合計を出したいのです。 ピボットテーブルやオートフィルターでひとつずつ出していってもいいのですが、次々と追加で行が増えていくので、その都度集計表を更新していくのもタイヘンだと思い、自動的に更新されるといいなと思っています。 説明不足なことがありましたら、返答します。 相当困っています。 どなたか助けてください。 よろしくお願いします。

  • Excel で 複数条件の合計を出したい。。。

    どなたかご存知の方がいたら教えてください!!!(汗) 下記のようなデータがあります。 列は時系列でデータがどんどん増えていきます。 例)A列=1月  1行目=Xの時系列データ   B列=2月  2行目=Yの時系列データ   C列=3月  3行目=Xの時系列データ    ・      4行目=Zの時系列データ    ・   A列のXのデータの合計をしたい場合は、SUMIF関数を 使えばよいと思うのですが・・・ あるセルに○月と入力するとそのセルの日付を参照して、 その月のX条件だけを満たす合計を出す場合にはどのような関数を使えばよいのでしょうか? もしくは、どのように関数を組合せばよいのでしょうか? なかなかうまく説明できなかったのですが、 よろしくお願いします!!!

  • 複数条件の合計

    はじめまして!初投稿です。 エクセルをやり始めてまだ日が浅いので 詳しい方、教えてください。 コード100以上で200未満の金額を合計していきたいのですがSUMIF関数でうまくいきません。 コード 金額 100   10,000 300   12,000 200   11,500 コード100以上200未満の金額を合計するにはどうしたらいいでしょうか?教えてください!

  • お小遣い帳の作成

    エクセルでお小遣い帳を作成しています。 使った一覧をひたすら入力し、シートで月別合計表を作成したいのです。 A列に使った日付を記入(例:2008/4/1)、B列に金額、C列にとあるコード(1~10)が入っています。 現在SUMIF関数で「C列に入っている数字が1だったら、B列の金額を足し算する」、という関数が入っていますが、 そこにさらに、A列の日付が2008年4月中に使った金額の合計、5月中に使った金額の合計、といった具合に関数を追加したいのですが、 どのような関数にすればよいのでしょうか。 説明がわかりづらくなってしまいましたが、やりたいことは要約するとコレです↓ ※2008年4月度にコード1(現金)で支払った金額の合計はいくら、 2008年5月にコード2(クレジットカード)で支払った金額の合計はいくら、といったもの。 方法をご存知でしたら教えてください。

  • エクセル関数で条件に一致したものの合計

    エクセル関数で条件に一致したものの合計 を計算することはできますでしょうか? SUMIFを使えばできるような気もするのですが、どうやったら良いのか分かりません。どうか教えてください。 やりたいことは、、 A列に1 or 2が入ってます。下記みたく。 1 2 2 1 2 1 B列に数字が入っていて、A列が2である行のB列の合計を求めたいのです。 よろしくお願いします。 -- エクセル2003

  • エクセル 条件付き関数 こんなことができないでしょうか!?

    こんにちは、文章だけで書くと分かりにくいため、添付の図もご覧頂ければと思います。 ある条件を満たすものを、ピックアップし、その範囲、項目たちの中でだけ計算式を行う ということを行いたいです。 例えば、文房具の種類がA列に、それぞれの値段がB列に 入力していると考えてください。「消しゴム」という キーワードを頼りに、B列(値段)をピックアップし、 その項目だけに計算式を実行するということであります。 例えば、一番高い消しゴムを見つけるのに、LARGEという関数を 「A列が消しゴム」という条件のもとで実行する、ということです。 条件付き関数として、SUMIFというのがありますが、これだと 合計しかだせません。何とか任意の計算式を使えないものかと思いました。これが分かると大変助かります。 どうか宜しくお願いします。

専門家に質問してみよう