Excelで複数条件の合計を出す方法

このQ&Aのポイント
  • Excelで複数条件の合計を出す方法について教えてください。
  • データが時系列で増えるExcelのシートがあります。特定の条件を満たすデータだけを合計したい場合、どのような関数を使用すればよいでしょうか?
  • 具体的な条件を設定し、合計値を取得するための関数や組み合わせ方について教えてください。
回答を見る
  • ベストアンサー

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

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

  • aifam
  • お礼率83% (5/6)

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

  • ベストアンサー
  • suekun
  • ベストアンサー率25% (369/1454)
回答No.1

意地悪ではないです。 シート関数にしろなんにしろ。調べて使い方を覚えると 結構忘れず身につきます。 OFFSET を組み合わせます。 OFFSET(基準となるセル、行方向にどれだけ移動するか?、列方向にどれだけ移動するか?) SUMIFでXだけと条件を絞れますよね。 あとはその対象の範囲をどうするか?です。 一月が範囲であれば、本来はA1:A20 とかになりますよね。 例えば、1月。 この入力された1月から「月」を引いて「1」にします。 これがOFFSETの列方向への移動量に使えませんか? ※ OFFSETは基準セルに対して移動量だけずれますから   基準がA1で行方向が1、列方向が1なら、B2になります。 1月をG1に入力したとして OFFSET(A1,0,LEFT(G1,LEN(G1)-1)-1)これが範囲の最初。 OFFSET(A20,0,LEFT(G1,LEN(G1)-1)-1)これが範囲の最後。 という事は、SUMIF(OFFSET(A1,0,LEFT(G1,LEN(G1)-1)-1):OFFSET(A20,0,LEFT(G1,LEN(G1)-1)-1)・・・・此処までが範囲の設定。 です。

aifam
質問者

お礼

suekunさんありがとうございました! OFFSET関数は知っていたのですが、一度も使った事がなく 今回チャレンジしてみます!!! 教えていただいたものを参考に、頑張ってみます。

その他の回答 (2)

  • suekun
  • ベストアンサー率25% (369/1454)
回答No.3

おおっ!! すばらしいじゃないですか!! 日付から数字の拾うのも上手く出来ているし完璧ですね。^^ いろんな場面でOFFSETは使えます。 同じ数式を範囲を変えて行うとき、行単位でずれる時は ROWで移動量を読ませたりして使えます。 幅が広がりましたね。^^ 出来上がった時の喜びがあるから、苦労も報われ、 関数の理解も深まりますね。 ご苦労様でした。

aifam
質問者

お礼

suekunさんには今回お世話になりました。 OFFSET関数を使う時がなかったので、これを機会に もっともっと勉強して使えていけるようになりたいです♪♪ ありがとうございました。

  • suekun
  • ベストアンサー率25% (369/1454)
回答No.2

^^ エラーになったり、上手く行かない部分は、この回答の補足にでも 追記して下さい。 OFFSETは覚えると、使い道が広がります。 きちんと中身を理解して、応用が利くようになる事を期待してますね。 (定期的に、このスレッドは見に来ますから遠慮なく完成まで  続けて下さい)

aifam
質問者

補足

suekunさんの指導を元に今日、仮データで作ってみました。  ↓これです♪ =SUMIF($A$2:$A$5,"A",OFFSET(B2,0,LEFT(H1,LEN(H1)-1)-1):OFFSET(B5,0,LEFT(H1,LEN(H1)-1)-1)) 本データーの日付は 1月-2月-3月 ではなく、 07/04/30-07/05/01-07/05/31-・・・・(月末月初で表示) なので、応用でやってみます(汗) はじめはエラー表示ばかりでしたが、 ちゃんと出来たときはうれしかったですd=(^。^)=bイエー suekunさんに感謝です。

関連するQ&A

  • エクセル 合計条件が行と列の時の計算式

    エクセルで、データがはいっている”データシート”と 合計を表示させたい”合計シート”があり、 合計シートに同じ番号の品名でおなじ日付のものを合計して 表示させたいと思っています。 データシートには、以下のように品名が同じものが複数はいっています     A列 B列 C列 D列・・・・Z列これからさらにデータが増えていきます 1行目品名 4/1 4/4 4/5 2行目Z100 10  20  30 3行目Z300 40  50  60 4行目Z100 11  22  33 5行目Z200 70  80  90  ・  ・ 200行くらいデータがありこれからさらにデータが増えていきます。 合計シートもデータシートと同じような形で データシートのA列の 同じ番号&同じ日付 の数字をそれぞれセルB2からZ200まで合計した 数字を表示させたいです。     A列 B列 C列 D列・・・・Z列 1行目    4/1 4/4 4/5 2行目Z100 21  42  63 3行目Z300 40  50  60 4行目Z200 70  80  90  ・  ・ 200行目 合計シートのB2セルに入力したのですが、#VALUEエラーがでてしまい ました。 =SUMPRODUCT((データシート'!$A$2:$A$500=合計シート!$A2)*(データシート'!$B$1:$Z$1,合計シート!$B1)) SUMIFでも試してみたのですが、エラーがでてしましました。 説明が分かりにくく申し訳ないですが、どなたか分かる方いらしたら 教えてください。よろしくお願いします。

  • エクセルで2つの条件に合うセルの合計

    エクセルで2つの条件に合うセルの合計 こんにちは。 例えば、以下のようにシート上にあるとします。 1 上 100 2 上 200 1 下 150 2 下 500 1 下 30 A列は1か2の数字 B列は上か下の文字 C列は数字 このシートでA列が1でかつ、B列が下の場合のC列を合計したいのですが、SUMIF関数でできるのでしょうか?他の関数でもかまいません。自分で関数を作るのはなしでお願いします。 (動作が重くなるので) ちなみに、上記の場合は、3行目と5行目が該当しますので、150+30=180となります。 -- エクセル2003

  • EXCELでの条件付き合計

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

  • エクセル 特定条件以外の合計

    DBから出力した表の集計をかけたいのですが、下記要件で集計することは可能でしょうか? ◎テーブル(例) 行  |科目CD(セルA) | 金額(セルB) 2  |00        |10000 3  |30        |2000 4  |50        |3000 ◎条件 科目CDが"00"以外の合計 ◎試した事 =sumIf(A2:A4,"<>00",B2:B4) ネットで調べて、上記をテストしたのですが、”00”も合計されてしまいました。 ちなみに、"00"だけの合計は問題なくできました。 =sumIf(A2:A4,"=00",B2:B4) とりあえず、C列にIf関数でフラグを立ててSumifで合計させてますが、スマートではない為、アドバイスお願いいたします。 ◎現在 C列にif(A2="00",0,1) sumif(A2:4,1,b2:b4) これで合計が出来てます。

  • Excelで条件に合うデータをピックアップして合計を求めたい

    下記のような条件で合計を求めたいのですが、 SUM関数やSUMIF関数では、求めている合計が得られません。 例) 行/列 A   B    C  1|  No. 金額   氏名 2|  1  200,000  A 3|  1  200,000  B 4|  1  200,000  C 5|  2  150,000  A 6|  2  150,000  D 7|  3  180,000  B 8|  3  180,000  D 9|  3  180,000  E 10| 小計  上記のようなデータがあります。 B列には、Noごとに、それぞれ同じ金額が重複して入力してあります。 ここから、Noの最初の金額である200,000+150,000+180,000=530,000 という合計を10行目に求めたいのです。 現在は、自分でNoを確認しながら、その都度、 合計したいセルを選択して合計を求めているのですが、 データ数が多いため、何か別の方法がないかと思案しております。 どなたか、アドバイスの程、宜しくお願いします。

  • Excelで表のある日以前の値を合計する sumif?

    こんにちは。 ExcelでA列の1行目に2010/1/1から31行目に2010/1/31まで、日付が並んでいます。 B列の1行目に1から31行目に31まで、1ずつ増える数字が並んでいます。 セルC1に2010/1/10と入力した場合に、セルD1に55と返すような数式を書きたいと思っています。 要するに、セルC1から以前の日をA列で見つけて、同じ行のB列の値を合計したいのです。 sumifを使ってみましたが、うまくいきません。 ご指導、お願いいたします。

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

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

  • Excel 複数の検索値の合計を出したいのですが 

    Excel2010でどのように関数を使えばよいかわからずに困っています。 どなたかご教示ください。   sheet2 sheet3         a1 111    a1    a2 222    a2    b1 333    b1    b2 444    b2    a2 555        z3 666        c1 777        a2 888   このようなbookがあります。   検索値はsheet2の列の4つ(実際には20程)で、この4つをsheet3の列(実際には40程)か  ら全て抽出しての列右の数値の合計を出したいのですがどうしてもできません。   今回の例の場合 (a1/111)(a2/222)(b1/333)(b2/444)(a2/555)(a2/888) の合計2,453を   任意のセルに返したいのです。   sheet2のようなsheetがたくさんあるので関数を使ってコピーして算出したいのですが   vlookup・sumif・sumifs・countif・dsum等々調べましたが私にはどうしてもできません。   ピボットテーブルやマクロまで詳しくないので関数で何とか算出できないかとご相談です。   お詳しい方どうぞよろしくお願いいたします。                 

  • エクセル 異なる範囲の集計(合計)

    誰かアドバイスをお願いします。 エクセルで下記の様な異なる行数(範囲)を自動集計させたい場合はどうすればよろしいでしょうか?       A      B      C     D        E      日付    注文NO  金額   注文金額計  日別注文金額合計 1   5月1日     1     50     150       250 2                  50       3                  50                4             2    50     100 5                  50                    6   5月2日     3     50     50        150 7             4     50    100 8                   50                                            やりたい事は、D列へ注文金額計に注文NO別の合計金額を集計させる事(注文NOごとの一番上の行のみです。)  と E列へ日別の注文金額合計を集計させる事です。(日別の一番上の行のみに表示)   sumif関数を使えばうまく行きそうなのですが、問題が2つあります。 (1)集計条件の日付や注文NOは、重複している場合は、一行のみ表示の仕様です。(他ファイルからデータを貼りける為、その様な仕様になり、極力入力する事は避けたいです。) (2)合計範囲の行数が一定ではないので出来ればEやD列の全てのセルに関数なりを設置し、一番最上行のみに結果を表字したい。例えばsumif関数をE,D列全ての行に設定してしまうと同じ集計結果が何行にも渡って表示されてしまうのは避けたい。(上の例でいえばE列に150が何行も表示されてしまう。 かといって重複行の最上行のみに関数を設定するのは、一行ずつの作業になってしまう為、避けたい。 何かいい方法がないでしょうか?   個人的には、関数の方がやりやすいのでいいのですが、マクロやVBEでもあれば教えて頂けますでしょうか?

  • エクセルで複数の条件のセル数をそれぞれ合計したい

    エクセルで複数条件のセルにそれぞれ分類を分け(判定)、分類ごとにセル数の合計を出したいのですが、この場合のセル合計を簡単に計算する条件式はないでしょうか?(分類項目はIF、AND関数を使って結果表示しています) 例)C列に分類AとBが0の時"*"、Aが1・Bが0の時"2"、ABとも1の時"1"、ABとも空欄の時空欄" "と判定し、"*"・"2"・"1"それぞれのセル数を合計したいのですが・・・。   列 A B C      行 1  0 0 *    2  1 0 2    3  1 1 1    4     ・        ・ どなたかご教示よろしくお願いします。

専門家に質問してみよう