- ベストアンサー
Excelで日時データの集合を色々に集計したい
2005/4/18 17:49(シリアル値38461) 式の日時だけの沢山のデータがあります。 来客の入店時刻の様なものです。 Excelに貼り付ければA列一列だけになり、行数はとりあえず8000行位になります。 これを色々な角度から集計したいです。 例えば月別で個数を集計すれば、季節的な来店者の増減を数値化できます。 時刻別の平均個数を出せば、時間帯による分布が見れます。 曜日と時刻を組み合わせて曜日別の来店ピーク時刻の変化とかも出せます。 色々ありますが、数千のデータを目で読んで目的別に個数を数えると時間的に膨大です。 Excelで自動的に集計出来ないでしょうか。 ピポッドテーブルというのがこんな時に使う機能なんでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>ピポッドテーブルというのがこんな時に使う機能なんでしょうか 日付け・時刻で言えば、ピボットテーブルで、「グループ化」というのがあります。 一旦、「行」に日付・時刻を指定して、ピボットテーブルを作成した後、グループ化します。グループ化の単位の指定に 分 時 日 月 四半期 年 などがありますので、時系列分析が簡単にできます。 この際にピボットテーブルについて、詳しく勉強されることをお勧めします。 VBAプログラムを組むなんていうのは、まどろっこしいと思います。 現在の仕事を離れても、一生何かの際に役立つ可能性があります。 「ビジネスデータ分析実践の極意」(ASCII)のような類書も数種出ています。 新しい列に、関数でコードでも作れば、そのコードをピボットテーブルの 行や列に使えます。 たとえば10代女性1、20代女性2、・・・ 10代男性11、20代男性12、・・・ などのように。これらはIF、AND関数などで実現するでしょう。
その他の回答 (2)
- haccyan
- ベストアンサー率43% (27/62)
こんばんは。 A列に、1905/10/8 18:02:28のような値が、 2行目から101行目まで入力されているとして、 B2に、=YEAR(A2) (西暦年を取り出す。) C2に、=MONTH(A2) (月を取り出す) D2に、=DAY(A2) (日を取り出す) E2に、=HOUR(A2) (時間を取り出す) F2以下に、1996、1997、1998などの西暦年を入力する。 G2に、=COUNTIF($B$2:$B$101,$F2) (F列に値のある行までフィルコピー) 以上の関数でF2以下に入力された西暦年と同じデータの個数が得られます。 H2以下に、1~12の値(月)を入力する。 I2に、=COUNTIF($C$2:$C$101,$H2) (H列に値のある行までフィルコピー) 以上の関数でH2以下に入力された月と同じデータの個数が得られます。 J2以下に、1~31の値(日)を入力する。 K2に、=COUNTIF($D$2:$D$101,$J2) (J列に値のある行までフィルコピー) 以上の関数でJ2以下に入力された日と同じデータの個数が得られます。 L2以下に、1~24の値(時間)を入力する。 M2に、=COUNTIF($E$2:$E$101,$L2) (L列に値のある行までフィルコピー) 以上の関数でL2以下に入力された時間と同じデータの個数が得られます。 以上で、西暦年別、月別、日別、時間別、のデータ数が得られると思います。 後はこれらの応用で何とかなるんじゃないでしょうか。 頑張ってみてくださいね。
- TinyPine
- ベストアンサー率30% (719/2386)
色々な集計をしたいと言う事で、エクセルマクロで集計プログラムを組む事をお勧めします。 ただ、この回答でどのように組んだら良いかは説明できませんので、図書館等でエクセルマクロの本を借りてきて読まれて見てはいかがでしょうか。 エクセルだけでやろうとすればCOUNTIFの組み合わせである程度の事は出来ると思います。