[[20111230140941]] 『日付指定で合計したい』(さむ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『日付指定で合計したい』(さむ) 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)


同じ式を入れてみるのですが、可変になるというエラーになります。実際に使用するOSは、winXP 2003 なのですが、今はvista 2007 で使用してますが、そのせいでしょうか?
参考内容は、また勉強させていただきます。

(さむ)


 「可変になる」というエラーですか?
 正確には、どの段階で何というメッセージが表示されますか?
  E7セルに入力しているのですよね?

 SSさんが最初に載せて下さっている式は、入りますか?
 私が載せている、INDIRECT等を使っていない式は入りますか?

 私も今は VISTA 2007 ですが 問題無く入力出来ますが。。。

 (HANA)


たびたびすみません。
返信の後でやり直していたらできました。
ありがとうございました。
ちなみに、E7以外のセルだったらエラーになることがありますか?

 >ちなみに、E7以外のセルだったらエラーになることがありますか?

 う〜ん、無いでしょうねぇ。。。
 その「可変になる」と言うエラー自体
 どんなエラーだったのか想像がつかないんですよね。。。

 入力するセルによっては「循環参照」のメッセージなら出るかもしれません。

 INDIRECT関数を使っていた場合、数式ダイアログで確認すると
 最後の所に =可変 って出るのは確かですが。
 ただ、それはその様に表示されているだけで、結果は出ますよね?

 もしかして、
  セルに「#REF!」エラーが出ていて
  数式ダイアログで確認したら「可変」と表示されていた
 って事だったでしょうか?

 >次のように、C列="本"を増やしてみたのですが〜
 の所で載せて下さっている式を入れると その様な結果になると思いますが。。。

 (HANA)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.