[[20060217100618]] 『1週間毎に発注数を集計したいのですが・・・』(おおよし) ページの最後に飛ぶ

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

 

『1週間毎に発注数を集計したいのですが・・・』(おおよし)

 教えて下さい。
 下記のデータを会社別、商品別に1週間毎に発注数量を集計したいのですが、
 何かよい方法はないでしょうか?
 できれば別シートの集計表に集計結果がでるような計算式とかないでしょうか?
 
 会社名   発注日   商品名  数量
 A社   2006/1/10  ●●●   4
 A社   2006/2/11  △△△  10
 A社   2006/1/18  ◆◆◆  15
 B社   2006/1/31  ◆◆◆  12
 B社   2006/2/3   ◎◎◎  14
 C社   2006/2/9   ×××  18
 ・     ・      ・   ・
 ・     ・      ・   ・
 ・     ・      ・   ・
 ・     ・      ・   ・
 
 別シートにこんな感じで集計結果をだしたいです。 
 
 会社  商品名  1月第1週  第2週  第3週  第4週  第5週
 A社  ●●●    0    4
 A社  △△△    0    0   0
 B社  ●●●    0
 ・     ・      ・   ・
 ・     ・      ・   ・
 ・     ・      ・   ・
 ・     ・      ・   ・
 
エクセルのバージョン : Excel2000
OSのバージョン   : Windows2000 です。
 
宜しくお願いします。

 まず、その月の第1週が何日から何日まで、第2週が・・・と求めるため、作業セルを作ります。
 この回答では、データシートをSheet1、別シートをSheet2として進めます。

 Sheet2のA1に年(例えば2006)、A2に月(例えば1)を入力。
 A3に会社、B3に商品名、C3〜C6に第1〜4週を入力(見出しです)。
 C1:H2には第1〜6週に対応する開始日と終了日を出力するための数式を入力します。
 C1=DATE(A1,A2,1)
 C2=DATE(A1,A2,8-WEEKDAY(C1))
 D1=C2+1、D2=D1+6、E1=D2+1、E2=E1+6、F1=E2+1、F2=F1+6
 G1=IF(MONTH(F2+1)=$A$2,F2+1,"")
 G2=IF(G1="","",IF(MONTH(G1+6)=$A$2,G1+6,DATE($A$1,$A$2,DAY(DATE($A$1,$A$2+1,1)-1))))
 H1=IF(G2="","",IF(MONTH(G2+1)=$A$2,G2+1,""))
 H2=IF(H1="","",IF(MONTH(H1+6)=$A$2,H1+6,DATE($A$1,$A$2,DAY(DATE($A$1,$A$2+1,1)-1))))
 G、H列の見出しを出力するための数式を入力します。
 G3=IF(G1="","","第5週")、H3=IF(H1="","","第6週")
 集計するための数式を入力します。
 C4=SUMPRODUCT((Sheet1!$B$2:$B$7>=Sheet2!C$1)*(Sheet1!$B$2:$B$7<=Sheet2!C$2)*
    (Sheet1!$A$2:$A$7=Sheet2!$A4)*(Sheet1!$C$2:$C$7=Sheet2!$B4)*Sheet1!$D$2:$D$7)
 ※注:Sheet1!$B$2:$B$7は質問に書かれたものを元に作成しておりますので、実際のシートの参照範囲を指定してください。
 H列の目的の場所までフィルハンドルでコピー

 以上でできると思います。
(ROUGE)


ROUGEさんへ

早速、回答ありがとうございました。
うまくできました!!!
どうもありがとうございました。
(おおよし)


コメント返信:

[ 一覧(最新更新順) ]


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