• ベストアンサー

データの集計について

ホームページのアクセス数をデータベースにしているのですが 以下のようなことがしたいのですが どのような方法があるか教えてください 宜しくお願いします 日付    0時  1時  2時 …(23時まで) ―――――――――――――――― 02/06/01  10  20  30 … 02/06/02  20  20  40 … … ―――――――――――――――― ↓時間別で集計する 時間 合計 ―――――― 0   30 1   40 2   70 … (23まで) ――――――

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

こんな簡単なロジックで良いのでしょうか。何となく質問の意図を誤解していないか心配ですが、掲載させてもらいます。 0時台から23時台までのそれぞれの項目に対応した配列 dim k(23)を作る。 0時台から23時台までのそれぞれの項目の中間合計に対応した配列dim t(23)を作る。 t(0)からt(23)を0にする。 レコードを順に読み、毎日の時間帯の件数をフィールド1、フィールド2、・・・・として、それぞれをk(0)からk(23)にセットする。 1レコードを読む毎にt(0)=t(0)+k(0)(k(0)はフィールド1の値) t(1)=t(1)+k(1)(k(1)はフィールド2の値)、・・・・をt(23)=t(23)+k(23)まで行う。 レコードがEOFになれば、あるいは月が変われば、t(0)からt(23)が求める月中件数合計です。さらに日数で割れば、時間帯別・平均訪問者件数が出ます。 アクセスでレコードを読んで、フィールドのデータを切り分けることが出来る人には上記は出きることと思います。

a68
質問者

お礼

imogasiさん 回答ありがとうございます imogasiさんの回答を元にモジュールを作成してみました 思い通りに動作させることが出来ました この質問の内容に少し変更点が出てきましたので また質問させてもらいますので また宜しくお願いしますm(_ _)m

その他の回答 (1)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

何で作った『データベース』でしょうか。Excelなら・・・ 1行目は表題で、質問にある、6月1日の0時の『10』はB2だとします。 データは1ヶ月間とします。 時間別で集計する箇所を、 『0』をA36、『30』をB36 『1』をA37、『40』をB37 『2』をA38、『70』をB38 とします。A列は『0』~『23』。 B36に  =SUM(OFFSET($B$2,0,A36,31,1)) として、下にコピーします。(31は月単位の前提の為)

a68
質問者

補足

nishi6さん 回答ありがとうございます すいません、環境書くの忘れてました ACCESS2000、WIN98です

関連するQ&A