• ベストアンサー

Excel関数:範囲の異なる合計の求め方

A列に7月の日付が1日から31日まで入力されていて B列には日毎に異なる数値nが入っている表があります。   A   B 1 7/1  5 2 7/2  10 3 7/3  8 4 7/4  2 5 7/5  19     こんな感じで末日まで また、別の表で E列に7/3であったり7/15であったりという日付が入っていて(それぞれバラバラ) F列に、E列のセルの日付から検索してその日以降のB列の値の合計を出したいのです。 E1が7/3であった場合はB3:B31、E2が7/15であった場合はB15:B31、といった具合に。 単に =SUM(B3:B31) と入力するのではなく あくまでE1の値で検索した$B$31までの合計を求める式を教えて下さい。

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

  • ベストアンサー
  • dghjty145
  • ベストアンサー率46% (42/90)
回答No.3

Ano.2のものです。 C列に商品名列があるとし、検索する日付がE列、検索する商品名がG列にあるとしたら、E列の日付以降の、G列の商品の合計金額がH列に表示される式は以下のとおりです。 =IF(OR(ISBLANK(E2),ISBLANK(G2)),"",SUMPRODUCT(($A$2:$A$32>=E2)*($C$2:$C$32=G2)*($B$2:$B$32))) sumproduct関数のいいところは、追加の検索条件を、いくつでも、簡単に追加できる点です。

poco_o
質問者

補足

なるほど! 最初にお答え頂いた時、SUMPRODUCT関数って知らなかったなぁと思ったのですが 積の和を求める方法では使ったことがあることに気づきました。 そこから何故回答のような使い方が出来るのか疑問に思い、更に調べてやっと、どちらかと言えばヘルプ通りではなく、回答頂いたような方法で便利に使われていることもわかり、引数の意味も理解出来ました。 補足質問がなければNo.1さんの回答のが短く出来るな~と思いましたが (式は出来るだけ短い方が望ましいと思っているので) 知らなかった汎用性をお勉強させて頂きました。どうも有難うございました。

その他の回答 (3)

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.4

日付が月単位で1~31行目に固定なら =SUM(INDIRECT("B"&E1&":B31")) 日付が月をまたがる場合で、当日(E1)~当月末までなら F1=SUMPRODUCT(($A$1:$A$100>=E1)*($A$1:$A$100<DATE(YAER(E1),MONTH(E1)+1,1))*($B$1:$B$100)) で下方にコピー

poco_o
質問者

補足

回答どうも有難うございます。 月はシート別にしようか考え中なので、参考にさせて頂きます。

  • dghjty145
  • ベストアンサー率46% (42/90)
回答No.2

A1からA31に日付、B1からB31に値が入っていたとして、F1に以下の計算式をいれて、下にコピーしてから、E1から下に日付を入力してゆけば、その日以降の合計がF列に出力されると思います。 =IF(E1=0 ,"", SUMPRODUCT(( $A$1:$A$31>=E1 )*( $B$1:$B$3 1)))

poco_o
質問者

補足

早速の回答有難うございます。 No.1さん宛と同じ補足をつけさせて頂きます。 これを応用し、例えばC列にも数値があったとして・・・ (仮に商品別としてタイトル行には商品名が入り、7/1は2行目にずれる) F列右に列を挿入し商品名を入れたとしたら(合計値を求める列はG列になりますね) 日付で検索した上で商品名が合致する列の数値を求めることも可能になりますでしょうか?

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

SUMIF関数が一番簡単でしょう。 E1セルに日付(7/3や7/15)が入力されているとします F1セルに  =SUMIF(A1:A31,">="&E1,B1:B31) でE1セルの日付以降の合計値が求められます。

poco_o
質問者

補足

早速の回答有難うございます。 ああ!そんな簡単な方法がありましたね・・・もう混乱して頭の中で式が組み合わせられなくなっちゃって、困ってたのです。 これを応用し、例えばC列にも数値があったとして・・・ (仮に商品別としてタイトル行には商品名が入り、7/1は2行目にずれる) F列右に列を挿入し商品名を入れたとしたら(合計値を求める列はG列になりますね) 日付で検索した上で商品名が合致する列の数値を求めることも可能になりますでしょうか?

関連するQ&A

  • Excel2000のSUM関数で範囲が自動的に変わってしまいます。

    皆様こんにちは。 これまでExcel97を使用していた時には出なかった現象です。 このような表がありまして、 →A列 1 123 3 234 4 345 5 6 =sum(A1:A4) としたいのに、A5に数値を入力すると A6の式が自動的に =sum(A1:A5)となってしまいます。 A5にはSUMで合計したくない数値が入りますので いつも式を入力し直しています。 現象が出ない部分もあります。 一体なぜなのでしょうか。 親切設計だからなのかわかりませんが、 どこかの設定で直せるようでしたら教えてくださいませ。

  • Excel2010 関数について

    Excel2010を使用してます。 1行の中にアルファベットを入力するセルと数値を入力するセルが交互に並んでいます。 その中で、例えばAと入力されたセルの左隣のセルの数値の合計を出したい場合、どのような数式を使用すればいいのでしょうか。 自分なりに調べてみましたが、Aと入力されたセルの左隣のセルという指定の仕方がわかりませんでした。アルファベットと数値のセルは交互に並び全部で60列ぐらいあるので、その中でAと入力されたセルの左の数値の合計を出したいのですが、どなたか教えてください。      A  B  C  D   E  ・・・   1 1 A 3 A 1 B 2 C 1 A ・・・   2 2 B 1 A 3 A 1 C 1 B ・・・   ・   ・   ・ というような表になっています。 数値とアルファベットはそれぞれ1つずつのセルに入力されています。 よろしくお願いします。

  • Excel関数について

    Excel関数について Excel2003を使用しております。 B列に日付を入力しており、E列には数字を入力しております。 B列には必ず日付を入力しておりますが、E列には数字を入力していない場合もあり、 日付ごとにE列に入力した数字をカウントしたいのですが、 どのような数式を使用すれば確認出来るでしょうか? 日付ごとの数字の合計ではなく、あくまでもカウントになります。 ご教示頂きたく、何卒宜しくお願い致します。

  • SUMIF関数で、条件に日付範囲で指定するには?

    SUMIF関数で、条件に日付をいれたいのですが、 10日毎の範囲で集計を取るにはどうすればいいでしょうか。 A列に日付、B列に数値で =SUMIF(A:A,"【2013/9/1~2013/9/10】",B:B)  こんな感じで日付の部分が問題のところです。 date関数を入れてみると例えば9/3だけなど、一日だけの計算はできたのですが… 1~10,11~20、21~末日(31日)で合計するにはどう記入すればいいでしょうか。

  • Excel関数で結合セルに合わせて合計を出す方法

    Excelの関数に関する質問です。 画像のような表を作成しており B列の数値を、A列の区分ごとに合計し、C列に表示させる、 という関数がないか探しています。 今のところ、C列にSUM関数を手入力し、 表を作成しているのですが、 C列に関数を入力し、この手間を省けないかと考えています。 C列の表示位置はIF関数等で表示できると考えたのですが、 肝心の数値の合計の方法が分からず、困っています。 結合セルの行番号を求めれば解決するかと調べたのですが、 適切な方法を見つけることができませんでした。 区分の区切り位置や区分の数は毎回変化しますので、 オートフィルをかけてもエラーにならないような式を教えていただけますと、 大変助かります。 宜しくお願い致します。

  • 現在までの合計の表示方法

    Excelで個人別、日別の実績一覧を作っています。 入力シートは以下のようなかんじで、B2~D2に実績を入力しE列はSUMが入っています。 次の日は同じくB2~D2に上書きしていきます。    A       B    C     D      E     F 1 名前     日付  りんご  バナナ   合計  今月の合計 2 ○○さん   5/8     1     5     6     30 3 △△さん   5/8     3     10    13    110 問題はF列の「今月の合計」なのですが、日々の合計(毎日入力したE列の数値)となるE列の合計を積み上げた値を表示させたいです。 日別実績を入力した後に別シートにA1からE3をコピペ→その別シートを元にSUMIFを使って個別に抽出したものを表示しています。 ただこの方法だと全てを入力後、別シートにコピペした後じゃないとF列の「今月の合計」は反映されません。 できれば、各項目の入力と同時に「今月の合計」が反映されるようにしたいのですが、良い方法はあえりませんか?

  • Excelの関数について

    Excelの関数について 私のExcelは2003です。 表を作っていて A列とB列に数値を入れてその合計をC列に自動的に出すようにするのは C列に「=SUM(A3,B3)」と入れますよね? 1日数回のデータを取り A列とB列に数値を入力し 1ヶ月ほどデータを取り続けるので その分C列に入れた関数を下へセルの右下にポインタを合わせて十字の記号を出して 下へ関数を入れたのですが その場合C列には0と表示されますよね? これは防げないものなのですか? 後、そのC列に表示された合計値を 次の行のA列に表示させたいのですが そういう関数はありますか? C列の合計値に次の数を足して、合計値をどんどん増やしていくので 例えばC1の値をそのままA2に表示。 C2の値をそのままA3に表示 C5の値をそのままA6に表示としたいのですが 関数があったら教えてほしいです。

  • ExcelでのINDIRECT関数の使い方について

    Excelの関数についてお伺いしたいと思います。現在、図のような表があり、A2, C2, E2を合計したいと思っております。条件として; 1) 列を頻繁に挿入するものの、常にA2, C2, E2を合計したい(セルがずれてしまっては困る) 2) B列やD列には他の数値が入るため(列が連続しない)、A2:E2ということができない これを解決するためにA8に"A2,C2,E2"と入力し、A9に=SUM(INDIRECT(A8)と記入したのですが、#REF!というエラーになってしまいます。この場合、どのようにIndirect関数を使えばよいのでしょうか。またそもそもIndirect以外の有効な関数を使うべきなのでしょうか。教えていただきたく、よろしくお願い致します。

  • ExCEL2000合計

    A列になにかしらのデータ(ランダムです。ちなみに日付です) が何行がおきにならんでいます (何行おきかはランダムです) そのデータ(日付)ごとにC列に数値があります。 数値もランダムです。数値の個数もランダムです。 A列にデータの入っている行にだけその日付ごとの数値の合計値をだしたいのです。 関数とかつかってできますでしょうか?

  • Excel表敬さん列の合計ランについて

    Office2013です、初めての経験で驚きました 1) 6列5行の表を作ります 2) 6列目には行の合計(A列には区分)    5行目には列の合計を記入します(1行目には月名)    そしてF2 には =SUM(B2:E2)       B5 には =SUM(B2:B4) を入力します 3) F2を選択してダブルクリックするとF列に5行まで合計が表示されます 4) 本日試したら F5 は 空白となり合計が表示更ませんでした    何回か試しましたがダメでしたので1度OFFにして再度試したらOKに    なりました、その後いろいろ別のFileで試しましたが空白になる頻度が    多く驚き困っています どこかの設定がおかしいのでしょうか?初めての経験で驚いています よろしくお願いいたします。

専門家に質問してみよう