5ステップで簡単!GASを使ったグラフ作成方法
GASでグラフを作成するってどうやるんだろう?上手く使いこなしてみたいんだけど…

猫男

catman
よし、catmanが「GASを使ったグラフ作成」について手取り足取り教えてやろう!一緒に5ステップで進めてみようか。
GASを使ったグラフ作成法
次の5ステップを踏んでみよう。
ステップ1:Google Sheetsを準備しよう
グラフを作成するためにはまずデータが必要だ。Google Sheetsでデータを用意しておこう。
// 例:Google Sheetsに以下のようなデータを用意する
// 日付, 売上
// 2023-01-01, 100
// 2023-01-02, 200
// ...
- これがグラフのデータとして必要になる。それじゃあ次のステップに進もう。
ステップ2:GASを起動してスクリプト作成
次に、Google Apps Scriptでスクリプトを作成するぞ。
function createGraph() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const range = sheet.getRange("A1:B10"); // データ領域を指定
const chart = sheet.newChart()
.setChartType(Charts.ChartType.COLUMN)
.addRange(range)
.setPosition(5, 1, 0, 0)
.build();
sheet.insertChart(chart);
}
- getActiveSpreadsheet()でアクティブなスプレッドシートを取得
- newChart()で新しいグラフを作成し、setChartType()でグラフの種類を指定
- addRange()でデータ範囲を設定
- setPosition()でグラフを挿入する位置を決定
なるほど、範囲や位置を決めていくんですね!

猫男
ステップ3:スクリプトを実行する
スクリプトを実行して、実際にグラフが生成されるか確認してみよう。
createGraph();
-
- スクリプトを実行すると、指定した場所にグラフが生成されるはずだ。
ステップ4:グラフのカスタマイズ
グラフをもっと見やすくカスタマイズすることも可能さ。
function createCustomizedGraph() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const range = sheet.getRange("A1:B10");
const chart = sheet.newChart()
.setChartType(Charts.ChartType.LINE)
.addRange(range)
.setOption('title', '売上グラフ')
.setOption('legend', {position: 'bottom'})
.setPosition(5, 1, 0, 0)
.build();
sheet.insertChart(chart);
}
- setOption()でタイトルや凡例などを設定して見た目を調整
ああ!これなら視覚的にわかりやすくなりますね!

猫男
ステップ5:他の種類のグラフも試してみよう
慣れてきたら、他のグラフタイプも試してみるといいぞ。
function createPieChart() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const range = sheet.getRange("A1:B10");
const chart = sheet.newChart()
.setChartType(Charts.ChartType.PIE)
.addRange(range)
.setOption('title', '売上比率')
.setPosition(5, 1, 0, 0)
.build();
sheet.insertChart(chart);
}
- ChartType.PIEで円グラフを描画できるんだ。
いろんなタイプのグラフに挑戦できそう!ありがとう、catman!

猫男
練習問題
Google Apps Scriptで、以下のデータを元に棒グラフを生成するスクリプトを書いてみよう。
| 日付 | 訪問者数 |
|——–|———-|
| 2023-02-01 | 150 |
| 2023-02-02 | 230 |
| 2023-02-03 | 300 |
解答と解説
以下がスクリプトの解答例だ。
function createVisitorGraph() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const range = sheet.getRange("A1:B4");
const chart = sheet.newChart()
.setChartType(Charts.ChartType.COLUMN)
.addRange(range)
.setOption('title', '訪問者数の統計')
.setPosition(5, 2, 0, 0)
.build();
sheet.insertChart(chart);
}
- getRange(“A1:B4”) でデータ範囲を指定している。この範囲内のデータがグラフに反映される。
- setChartType(Charts.ChartType.COLUMN) で棒グラフを選択。COLUMNは棒グラフを示す。
- setOption でタイトルやその他のオプションを設定し、グラフをより見やすくしている。
- build() でグラフオブジェクトを完成させ、それをinsertChart() でシートに挿入。