見出し画像

【簡単5分】GASでスプレッドシートでグラフ生成を自動化する方法

「スプレッドシート内のデータを自動でグラフにしたい!」
「GASで業務効率化ができるって聞いたけどよくわからん」
「非エンジニアでも簡単にできる方法教えて!」

本記事ではこのような方を対象に、GAS(Google App Script)を使ってスプレッドシート内のデータを基に自動でグラフを生成する方法をご紹介します。

■本記事で分かること
GASを使ってスプレッドシート内のデータを基に自動でグラフを生成する方法

■本記事の信頼性
私は、本業でChatGPTなどのAIツールを活用して効率化を実現し、ほぼ毎日定時で帰宅。家族との充実した時間を確保している「なおき」といいます。

AIと全く無縁の体育系で文系出身(数学Ⅱで終わりました)の私でもできる時短術をわかりやすく説明できるよう、Xなどを活用して情報発信しています。

この記事を読んでくださった方々が1分でも早く帰れることを願い、今回はGASを使ってスプレッドシート内のデータを基に自動でグラフを生成する方法をご紹介します!


1.Googleスプレッドシートの準備


まずは、Googleスプレッドシートでグラフにしたいデータを作成します。

今回は単純に列Aと列Bに右肩上がりになるような数字を入れてみました。

2.GAS(Google App Script)の設定


それでは次にGASの設定に入っていきます。

ステップ1:Apps Scriptを開く

Googleスプレッドシートのメニューバーから
「拡張機能」→「Apps Script」を選択します。

ステップ2:コードの入力と一部修正

Apps Scriptが開いたら、デフォルトで入力されている部分のコードを削除してください。

赤枠部分は削除

同じところに以下のコードをコピペします。

function createGraph() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('Sheet1'); // シート名を変更する場合はここを変更してください
  var dataRange = sheet.getDataRange();
  
  // データの範囲を取得
  var values = dataRange.getValues();
  
  // X軸データの範囲を指定(例:A列の2行目から最終行まで)
  var xRange = sheet.getRange('A2:A' + values.length); // X軸の範囲を変更する場合はここを変更してください
  
  // Y軸データの範囲を指定(例:B列の2行目から最終行まで)
  var yRange = sheet.getRange('B2:B' + values.length); // Y軸の範囲を変更する場合はここを変更してください
  
  // チャートを作成
  var chart = sheet.newChart()
      .setChartType(Charts.ChartType.LINE) // グラフの種類を変更する場合はここを変更してください
      .addRange(xRange)
      .addRange(yRange)
      .setPosition(2, 4, 0, 0) // グラフの表示位置を変更する場合はここを変更してください
      .build();
  
  // グラフをシートに挿入
  sheet.insertChart(chart);
}

このコードは、指定されたスプレッドシートの特定のシートからデータを取得し、そのデータを使用してグラフを作成します。

グラフの種類、X軸データの範囲、Y軸データの範囲、およびグラフの表示位置はすべて指定できるので、使用にあたってはご自身のスプレッドシートに合わせた範囲にしてください。

また、「シート名」をご自身のスプレッドシートのシート名にしてください。

var sheet = ss.getSheetByName('Sheet1'); // シート名を変更する場合はここを変更してください

実際に修正したコードは以下のようになります。
修正後は必ず保存マーク💾を押してください。

ステップ3:実行及び権限の承認

保存出来たら、「▷実行」の部分をクリックして関数createGraphを実行します。

実行すると権限の承認を求められるので、以下の画像の赤枠部分をクリックしていってください。

権限を承認
アカウント名をクリック
詳細をクリック
無題のプロジェクト(安全ではないページ)に移動
許可をクリック

3.GAS(Google App Script)の実行

ここまでの作業が終了したら、最初に作成したスプレッドシートをご覧ください。

指定した範囲に応じたグラフが作成されています。

グラフが作成されました!

ちなみに、
毎回Apps Scriptで実行ボタンを押すのがめんどくさい!という方…

「実行」ボタンをスプレッドシート上に作ってしまえば、スプレッドシート上だけで作業できるようになるので、お時間があればやってみてください。

具体的には以下の要領になります。

まず、スプレッドシート上のメニュータブから挿入をクリックし、図形描画を選択します。

図形描画をクリック

次に、図形を選んで作成します。
ここでは長方形を選んでみました。

お好みの図形を選びます。

次に、ボタンの意味を分かりやすくするため、「実行」などの言葉を入れます。(別にいれなくてもいいですが)

文字を入れる

描画された図形を右クリックして右上に出てきた点からスクリプトを割り当てをクリックします。

スクリプトを割り当てをクリック

ここでいうスクリプトとは、「実行したい関数」のことです。
すなわち、先ほど「▷実行」の部分にあった関数createGraphを入力します。

createGraphを入力し、確定

あとは、実行ボタンを押すだけです。
しばらくすると、先ほどと同じグラフが作成されました!

実行後の状況

以上で作業は終わりです!
お疲れ様でした!

4.まとめ

今回は、「GASを使ってスプレッドシート内のデータを基に自動でグラフを生成する方法」をテーマに紹介しましたが、いかがだったでしょうか?

  1. グラフを作成したいGoogleスプレッドシートの準備

  2. GAS(Google App Script)のコードにシート名とデータ範囲を指定

  3. GASの実行

上記の内容が実行できれば、ワンクリックでグラフが作成できるようになります!

ぶっちゃけメニュータブにグラフ作成のボタンがあるので、
「こんなんいらんやろ!」と思う方もたくさんいらっしゃると思います。

しかし、GASを使用することのメリットはいくつかあります。

①自動化と時短
大量のデータを扱う場合や定期的な更新を行う場合、毎回同じようなグラフを作成するためにデータ範囲の設定などを行う必要があります。

この作業がGASを使えば毎回1クリックで同じ動作が誤差なく実施できるので、作業の時短及び正確性の向上につながります。

②共有と再利用性
作成したスクリプトは、他のスプレッドシートやプロジェクトで再利用できます。

また、社内のチームやコミュニティ内で共有することで、チーム全体としての業務の効率化を図ることができるようになります。

他にも、GASを組み合わせることでグラフの作成→レポート化→メール送信といった作業を自動化することもできるので、単純なグラフ作成よりも自動化の範囲が広くなります。

このように、ご自身の業務の実態に合わせたカスタマイズができれば、かなり効率的な作業につなげることができるので、是非実践してみて下さい!

そして、ChatGPTで自分に合ったGASコードを作成するためのプロンプト集を作成しましたので、是非ご覧ください!

今回紹介した内容で皆さんの業務が少しでも効率化できれば、スキ、SNSでの紹介をしていただけると大変励みになりますので、何卒よろしくお願いします!

このほか、AI×時短術の知識をX(旧Twitter)で紹介していますので、是非フォローしてください!

この記事が参加している募集

#AIとやってみた

28,436件

この記事が気に入ったらサポートをしてみませんか?