【スプレッドシート】GASでグラフを作成・変更する方法

Googleスプレッドシートはデータの可視化にとても便利で,様々な種類のグラフが作成可能です.

普通は,メニューバーにある「挿入」からグラフを作成すると思いますが,Google Apps Scriptを使って,グラフを作成・変更することも可能です.

この記事では,Google Apps Scriptでグラフを作成・変更する方法を解説します.

スポンサーリンク

スプレッドシートからGASを開く

この記事では,スプレッドシートからGoogle Apps Scriptを開く場合を想定しています.

スプレッドシートからGASを開く方法が分からない場合は,こちらを記事を参考にしてください.

グラフの作成

今回は,以下のようなデータを使用します.

まずは6月までのデータを使用し,折れ線グラフを作成します.

6月までのデータなのでセル範囲を「A1:C7」と指定します.

以下の関数を実行することで,折れ線グラフを作成できます.

function createChart() {
  // アクティブなシートを取得
  var sheet = SpreadsheetApp.getActiveSheet();
  // 使用するデータのセル範囲を取得
  var range = sheet.getRange("A1:C7");

  // チャートを作成
  var chart = sheet.newChart()
      .setChartType(Charts.ChartType.LINE) // チャートの種類を設定
      .addRange(range) // 使用するデータの範囲を追加
      .setNumHeaders(1) // ヘッダーとして扱う行・列の数
      .setPosition(5, 5, 0, 0) // 表示位置を設定
      .build(); // チャートを作成

  // シートにチャートを挿入
  sheet.insertChart(chart);
}

今回は,折れ線グラフを作成しましたが,「setChartType()」メソッドでチャートの種類を変更できます.

チャートの種類に関しては,こちらのページで確認できます.

Enum ChartType  |  Apps Script  |  Google for Developers

グラフの変更

先ほど作成した6月までの折れ線グラフを12月までの折れ線グラフに変更します.

12月までのデータなのでセル範囲を「A1:C13」と指定します.

以下の関数を実行することで,折れ線グラフの変更が可能です.

function changeChart() {
  // アクティブなシートを取得
  var sheet = SpreadsheetApp.getActiveSheet();
  // 使用するデータのセル範囲を取得
  var range = sheet.getRange("A1:C13");
  // スプレッドシート上のチャートを取得
  var chart = sheet.getCharts()[0];

  // チャートを変更
  var newChart = chart.modify()
      .clearRanges() // 範囲を削除
      .setChartType(Charts.ChartType.LINE) // チャートの種類を設定
      .addRange(range) // 使用するデータの範囲を追加
      .setNumHeaders(1) // ヘッダーとして扱う行・列の数
      .build(); // チャートを作成

  // シートにチャートを挿入
  sheet.updateChart(newChart);
}

まとめ

今回は,Google Apps Scriptでグラフを作成・変更する方法を解説しました.

詳細は公式リファレンスをご確認ください.

Class EmbeddedChartBuilder  |  Apps Script  |  Google for Developers