[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『日付指定で合計したい』(さむ) WInXP,Exl2003
エクセル勉強中なので、教えてください。
次のような表がある場合に、日付をもとに計算したいので下記のようにしました。
A B C D E 1 日付 売上 品名 全合計 11090 2 2011/5/1 1100 本 3 2011/5/2 1150 本 開始日 2011/5/3 4 2011/5/3 980 ノート 終了日 2011/5/7 5 2011/5/3 1080 本 期間合計 6450 6 2011/5/4 1230 本 7 2011/5/5 1030 本 8 2011/5/6 990 ノート 9 2011/5/7 1140 本 10 2011/5/8 1210 本 11 2011/5/9 1180 本
上記の全合計は、下記の式で求め、
=SUM(OFFSET($B$2,0,0,COUNTA($A:$A)-1,1))
期間合計は、下記の式で求めました。
=SUM(OFFSET($B$2,MATCH($F$3,OFFSET($A$2,0,0,COUNTA($A:$A)-1,1),0)-1,0,MATCH($F$4,OFFSET($A$2,0,0,COUNTA($A:$A)-1,1),0)-MATCH($F$3,OFFSET($A$2,0,0,COUNTA($A:$A)-1,1),0)+1,1))
次のしたいことは、5/3から5/7の間で5/3,5/5,5/7のようにとびとびの日付を基にした合計額をE7に求めたい時にいろんな質問の解答をもとに奮闘しているのですが、うまくできないので教えてください。
一例ですが 開始日がE3、終了日がE4 にあるとして 期間合計は =SUMPRODUCT((INDIRECT("A2:A"&COUNTA(A:A))>=E3)*(INDIRECT("A2:A"&COUNTA(A:A))<=E4)*(INDIRECT("B2:B"&COUNTA(A:A))))
でどうでしょう・ (SS)
全合計は =SUM(B:B) で できそうです。 期間合計も =SUMIF(A:A,">="&E3,B:B)-SUMIF(A:A,">"&E4,B:B) で出来ませんか? 数字だけ計算対象にしたい気分はわかりますが、 SUMやSUMIFは文字列は合計対象にしませんから、神経質にならなくても。 >5/3から5/7の間で5/3,5/5,5/7のようにとびとびの日付を基にした合計額をE7に求めたい っていうのがもう少し説明なり具体例が必要かもしれません。 ご提示の例では一日おきに合計する必要性や必然性がなく、 提案しても実際にやりたいことと食い違いが起きそうなので。 (みやほりん)(-_∂)b
お二人とも、簡単にできる方法をありがとうございました。
次に、A4,A5とA8,A9の日付の額を合計をE8に求めたいとした場合を教えてください。 説明が悪くて申し訳割りませんがよろしくお願いします。
>次に、A4,A5とA8,A9の日付の額を合計をE8に求めたい
↑求めたい日付がこの日付になるという、ルールのようなもの は何かありますか? ただ単にランダムにこの日付ということでしょうか? (SS)
この日付は、一週間毎の日付表です。 一日の行が4行になったり5行になったりすることがありますが、ほぼ決まってます。
なぜとびとびのセルを計算しなければならないのですか? それが分からないと計算が組み立てられません。 先の期間集計の様にセルに計算したい日付を入力したりはしないのですか? (みやほりん)
前回の期間集計は、期間の売上集計でしたが、
A B C D E 1 日付 売上 品名 全合計 11090 2 2011/4/30 500 本 3 2011/4/30 300 ノート 4 2011/5/1 1100 本 5 2011/5/1 1150 ノート 開始日 2011/5/1 6 2011/5/2 980 本 終了日 2011/5/4 7 2011/5/2 1080 ノート 期間合計 8 2011/5/3 1230 本 9 2011/5/3 1030 ノート 10 2011/5/4 990 本 11 2011/5/4 1140 ノート 12 2011/5/5 1210 本 13 2011/5/5 1180 ノート
5/2から5/4までの本だけの集計をしたい場合は、どのようになるのでしょうか。
最後の書込は、さむさんでしょうか?
>ようにとびとびの日付を基にした合計額 はどうなったのでしょう?
もしかして、最後のご質問の様な合計をしたかったのでしょうか?
SSさんが書いて下さっている、SUMPRODUCT関数が使えそうに思いますが。。。 但し、あの時は日付の条件しか無かったので もう一つ C列が="本" と言う条件を 増やして下さい。
SSさんの式は INDIRECT("A2:A"&COUNTA(A:A))>=E3 ・・・A列の範囲がE3(開始日)以降 *・・・・・・・・・・・・・・・・・・ 且つ INDIRECT("A2:A"&COUNTA(A:A))<=E4 ・・・A列の範囲がE4(終了日)以前 *・・・・・・・・・・・・・・・・・・ の INDIRECT("B2:B"&COUNTA(A:A)) ・・・・・B列の範囲の値 の合計 と言った感じの作りに成っています。 括弧の数が多いので、注意して追加して下さい。
(HANA)
HANAさんありがとうございます。最後の書き込みは、さむです。ネームを入れ忘れてました。 関数式は、まだよくわからないので質問も分かりにくかったと思いますが、最後の質問のような合計をしたかったのです。 次のように、C列="本"を増やしてみたのですがどこか違うみたいなのですが、よくわからないので、条件の入れ方を教えてください。
=SUMPRODUCT((INDIRECT("A2:A"&COUNTA(A2:A))>=E3)*(INDIRECT("A2:A"&COUNTA(A2:A))<=E4)*(INDIRECT("本"&COUNTA(C:C)*(INDIRECT("B2:B"&COUNTA(A:A))))))
(さむ)
このページの下の方にコメント欄が有りますので 返信はそちらから行っていただけると良いと思いますよ。
さて、 A列の範囲がE3(開始日)以降 は、↓ INDIRECT("A2:A"&COUNTA(A:A))>=E3 の様に書けます。
同じ様に C列の範囲が"本"と等しい となりそうな感じで変更すると INDIRECT("C2:C"&COUNTA(A:A))="本" ですね。
INDIRECT関数等と組み合わさっているから難しいでしょうか。
データが有る範囲が 2〜100行と決まっていた場合 =SUMPRODUCT((A2:A100>=E3)*(A2:A100<=E4)*B2:B100) ですから、これにさらに C列が="本" と言う条件をふやすと =SUMPRODUCT((A2:A100>=E3)*(A2:A100<=E4)*(C2:C100="本")*B2:B100) って感じに成りますね。
こちらもご参考に。 https://www.excel.studio-kazu.jp/lib/e3h/e3h.html ライブラリ「SUMIFとSUMPRODUCT」
(HANA)
(さむ)
「可変になる」というエラーですか? 正確には、どの段階で何というメッセージが表示されますか? E7セルに入力しているのですよね?
SSさんが最初に載せて下さっている式は、入りますか? 私が載せている、INDIRECT等を使っていない式は入りますか?
私も今は VISTA 2007 ですが 問題無く入力出来ますが。。。
(HANA)
>ちなみに、E7以外のセルだったらエラーになることがありますか?
う〜ん、無いでしょうねぇ。。。 その「可変になる」と言うエラー自体 どんなエラーだったのか想像がつかないんですよね。。。
入力するセルによっては「循環参照」のメッセージなら出るかもしれません。
INDIRECT関数を使っていた場合、数式ダイアログで確認すると 最後の所に =可変 って出るのは確かですが。 ただ、それはその様に表示されているだけで、結果は出ますよね?
もしかして、 セルに「#REF!」エラーが出ていて 数式ダイアログで確認したら「可変」と表示されていた って事だったでしょうか?
>次のように、C列="本"を増やしてみたのですが〜 の所で載せて下さっている式を入れると その様な結果になると思いますが。。。
(HANA)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.