web-dev-qa-db-ja.com

エントリーの頻度をグラフ化したチャートを作成するにはどうすればよいですか?

次のように、日付のみの(並べ替えられた)Excelブックがあります。

11/14/2011 11:53
10/14/2012 11:53
11/23/2012 19:28
12/24/2012 12:27
...
12/1/2013 11:48

毎月のエントリ数を示す折れ線グラフを作成したいと思います。どうすればこれを取り除くことができますか?

8
AngryHacker

マイクフィッツパトリックの答えは、年に関係なく1か月のすべての値をカウントしようとする場合にうまくいきます。毎月のカウントのグラフを作成する(つまり、2012年11月と2013年11月を区別できる)場合は、もう少し詳細が必要になります。

  1. 既存のデータから標準のテーブルを作成します。
  2. 数式= Year(A2)を使用して、Yearという名前の列を追加します。
  3. Forumla = Month(A2)を使用して、Monthという名前の列を追加します。
  4. ピボットテーブルで、行ラベルとして年と月を使用し、値として(まだカウントを使用して)日時を使用します。
  5. ピボットテーブルは、同じ月を異なる年に区別します。
  6. 最後に、ピボットテーブルを選択した状態で、縦棒グラフを挿入して、月次カウントを含むピボットグラフを作成します。

生データに標準のテーブルを使用することにより、値を追加すると、ピボットチャートはピボットチャートと同様に更新されます。

5
dav

データが有効なExcel日時であると想定して、範囲にタイトル(例: "Datetime")を付け、ピボットテーブルを作成します。

行ラベルとして日時(またはそれと呼ばれるもの)を使用しますand値。値関数が合計ではなくカウントであることを確認してください。

最後に、月ごとに、オプションで年ごとに行ラベルをグループ化します。

5

サンプルデータで実際に不定期な時間間隔の比較的長いタイムスパンがあることに気付きました。他の回答ではExcelだけでグラフを作成する方法を指摘しましたが、ここで、私が述べた問題に対処するインタラクティブな折れ線グラフを作成できる別のソリューションを提案します。下の写真は、あなたの説明に基づいて私が作った例を示しています。

enter image description here

このチャートは、Funfun Excelアドインで作成しました。基本的に、このアドインを使用すると、JavaScriptをExcelで直接使用できるため、HighCharts.jsやD3.jsなどのライブラリを使用してインタラクティブなグラフを作成できます。この特定の例では、HighCharts.jsを使用しました。このグラフでは、マウスを使用して特定の期間を拡大し、詳細番号を表示できます。これは、何年もログを保持している場合に非常に役立ちます。

データに戻ります。このグラフを作成する前に、毎月の頻度を数える必要があります。これは、JavaScriptで小さな関数を記述することで実行できます。ここにいくつかのサンプルコードがあります。

var frequencyPerMonth = new Object();

  var monthLast = 1;
  var yearLast = 1970;
  for(var i=0;i<data.length;i++){
    var monthThis = parseInt(data[i][0].split('/')[0]-1);
    var yearThis = parseInt(data[i][0].split('/')[2]);

    if(monthThis == monthLast && yearThis == yearLast){
        frequencyPerMonth[data[i][0].split('/')[2]+monthThis.toString()] += 1;
    }
    else{
        frequencyPerMonth[data[i][0].split('/')[2]+monthThis.toString()] = 1;
    }
    monthLast = monthThis;
    yearLast = yearThis;
  }

Funfunには、JavaScriptコードと結果を探索できるオンラインエディターもあります。以下のリンクで、チャートの例の詳細を確認できます。

https://www.funfun.io/1/#/edit/5a4e0d461010eb73fe125c4e

オンラインエディターで達成した結果に満足したら、上記のURLを使用して結果をExcelに簡単にロードできます。もちろん、最初に、まずFunfunアドインを挿入-OfficeアドインでExcelに追加する必要があります。以下は、サンプルをExcelに読み込む方法を示すスクリーンショットです。

enter image description here

enter image description here

開示:私はFunfunの開発者です

1
Chuan Qin