Quantcast
Channel: いつも隣にITのお仕事
Viewing all articles
Browse latest Browse all 2105

Google Apps Scriptでグラフを作成する方法の最初の一歩

$
0
0

みなさん、こんにちは!
タダケン(@tadaken3)です。

Googleスプレッドシートでの集計・分析作業の効率を上げるための、Google Apps Scriptのテクニックを紹介します。

スプレッドシートを使う業務の中で多いのがデータの集計・分析作業です。

分析ってなんだから難しいそうって思う方もいるかもしれませんが、データからインサイトを引き出すコツは「可視化」してデータを見えるようにしてあげることです。

今回は、「データの可視化」の第一歩として、Google Apps Scripでの「グラフ作成」に関するテクニックをご紹介していこうと思います。

グラフを作成して、スプレッドシートに挿入する

以下のようなシートがあります。

A1〜B6セルの中に、1月〜5月までの月ごとの販売個数のデータが入力されています。これらのデータを使って、グラフを作成してみましょう。

スプレッドシートのAPIを使う場合、

  1. データが入力されているA1:B6列を範囲選択してグラフを作成する
  2. 作成したグラフをシートに挿入する

という流れになります。

 

newChartメソッドを使ってグラフを作成する

GASでグラフを作成する場合はnewChartメソッドを使います。

書き方は

Sheetオブジェクト.newChart().addRange(データ範囲).build();

です。

newChartメソッドは、chartオブジェクトを作成するメソッドです。
GASではスプレッドシート本体やシートと同じようにチャートもオブジェクトとして扱います。

これで選択した範囲のデータに対してグラフを作成することができます。
newChartメソッドではじまり、addRangeメソッドでデータ範囲を選択します。
最後にbulidメソッドを実行することで、グラフが作成されます。

function createChart() {
  //今回はsheet1にデータが格納されてます。
  var mySheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("sheet1");
  //getRangeでA1からB6列を取得します。
  var range = mySheet.getRange("A1:B6");
  //newChartメソッドで、グラフを作成します。addRangeに、先程取得したデータ範囲を設定します。
  var chart = mySheet.newChart()
              .addRange(range)
              .build();
}

実際のコードは上記のようになります。
addRangeメソッド、buildメソッドの部分は改行して見やすくしています。

ただ、このままだと、PCのメモリ上にグラフが生成されるだけで、スプレッドシートに何も変化がありません。

insertChartメソッドで、シートにグラフを挿入する

実際にグラフを挿入するにはSheetオブジェクトに対して、insertChartメソッドを実行する必要があります。

書き方は

Sheetオブジェクト.insertChart(chartオブジェクト);

です。

また、chartオブジェクトにもsetPositionメソッドで、挿入位置を設定します。

書き方は

chartオブジェクト.setPosition(開始行,開始列,X軸のオフセット,Y軸のオフセット);

です。

例えば、setPosition(1,1, 100, 100)の場合、1行、1列目のセルの場所を起点に、右方向に100ピクセル、下方向に100ピクセルの場所に、グラフが挿入されます。

実際のコードは以下のようになります。

function createChart() {
  var mySheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("sheet1");
  var range = mySheet.getRange("A1:B6");
  var chart = mySheet.newChart()
              .addRange(range)
              .setPosition(1,4,0,0) //buildメソッドの前に、挿入場所を指定するsetPositionを加えます。
              .build();
  //グラフをシートに挿入します
  mySheet.insertChart(chart);
}

setPositionメソッドは、chartオブジェクトに対してのメソッドのため、buildメソッドの前に、書く点だけ注意してください。

上記のコードを実行すると、D1セルの箇所に、グラフが挿入されます。

まとめ

以上、Google Apps Scriptでグラフを作成する方法について、お伝えしました。

今回はイカのテクニックをご紹介しました。

  • newChartメソッドで、chartオブジェクトを作成
  • addRangeメソッドで、データ範囲を設定
  • setPosionメソッドで、グラフの挿入位置を設定
  • buildメソッドで、chartオブジェクトの生成を実行
  • insertChartメソッドで、シートにグラフを挿入

今回の例は、グラフを作成するための基本的なテクニックになります。例えば、今回のテクニックを応用して、データのカテゴリごとに、グラフを作成することもできるようになります。

次回も、グラフについてのテクニックを、お伝えしてきますね。

どうぞ、お楽しみに!


Viewing all articles
Browse latest Browse all 2105


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>