[[20091125145134]] 『日付毎の集計と合計値の抽出』(MoonMan) ページの最後に飛ぶ

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

 

『日付毎の集計と合計値の抽出』(MoonMan)

 初めて質問させていただきます。

 表題の質問ですが、CSVをADOでsheetに抽出後の展開で悩んでます。

 本当は、CSVの抽出で一気にフィルタリングをかけて抽出したかたっのですが、

 力不足で以下のような列で抽出しました。

 A)ユーザ・日付・相手方(CD)・対応時間(秒)

 センター#1	200910121829	7051	55

 このシートを

 B)集計日付・発信回数・発信通話時間

 という表組みに集計しようとしています。

 仕様としては、

 1)日付は日次レベルでグループ化しする

 2)開始日と終了日を別のシート(セル)から値を求める

 2)日付毎で配列化し、その行数を求めて積算し、指定のセルに書き出す。

 3)その配列の秒数を積算し、時間の単位で指定のセルに書き出す。

 4)1時間に満たない場合は、00:NNとする。

 5)データのない日付は、0で書き出す

 そこで、以下のコードを書き始めています。
 - - - -
 Sub 仕訳集計()
     Dim ユーザ() As String
     Dim 日付() As String
     Dim 相手先() As String
     Dim 対応時間() As Integer
     Dim 集計日付() As String
     Dim 開始日(d, 1)

     日付最終行 = Worksheet("sheet1").Cells(65536, 2).End(xlUp).Row

     ReDim 日付(日付最終行 + 1)
     ReDim 相手方(日付最終行 + 1)
     ReDim 対応時間(日付最終行 + 1)

     For i = 1 To 最終行
         If Cells(i, 2).Value Then
             日付(i) = Worksheet("sheet1").Cells(i, 2).Value
         Else
             日付(i) = 日付(i - 1)
         End If
         相手方(i) = Cells(i, 3).Value
         秒数(i) = Cells(i, 4).Value
     Next
     'ループした配列をグループ化して加工する
     集計日 = Worksheet("集計結果").Range(A1).Cells(2.1)
     発信回数 = Worksheet("集計結果").Range(A1).Cells(2.2)
     発信通話時間 = Worksheet("集計結果").Range(A1).Cells(2.3)
     着信回数 = Worksheet("集計結果").Range(A1).Cells(2.4)
     着信時間 = Worksheet("集計結果").Range(A1).Cells(2.5)
     開始月 = Worksheet("メイン画面").Cells(L15)
     '開始日 = Worksheet("メイン画面").Cells(Q15) 固定化するほうがよい
     終了月 = Worksheet("メイン画面").Cells(X15)
     終了日 = Worksheet("メイン画面").Cells(AC15)
     d = 1
     For d = 1 To 終了日
         If 日付(i) = d Then
             'グループ化してカウント
             '行数の値を書き出し
             '秒数を時間に変換積算して書き出し
             'オフセットして書き出し
             'ループする
         End If
     Next

 とここまでは、考えましたが、煮詰まってしまいました。

 どなたかすっきりした考え方をご教示ください。

 Excel2003で作成しています。


 回答が無いようなので軽くコメントを……
 
まず、仕様を見る限り集計部分はCOUNTIFやSUMIFなどの数式だけで出来そうな気がしますけども、
あくまでもマクロで処理しないと駄目なんですかね。
 
開始、終了の日付範囲が数式だけだと難しいかもしれないから、
そこはマクロで組むにしても、
集計だとかは表計算ソフトであるExcelさんの得意分野だと思うので、
マクロでわざわざ組むのが面倒というか勿体無いと言うか……
(ご近所PG)

コメント返信:

[ 一覧(最新更新順) ]


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