【初心者向け完全版】GASでアンケート結果をグラフ化&自動作成する方法|スプレッドシート連携解説!

「アンケート結果をまとめるのに毎回手間がかかる…」
「集計後にグラフを手作業で作るのがめんどくさい!」

そんなあなたにぴったりなのが、Google Apps Script(GAS)を使ったアンケート結果のグラフ自動作成です。

この記事では、初心者でもできる
GASを使ったアンケート結果の自動集計+グラフ作成方法を、わかりやすく解説します!

これを読めば、アンケート集計の面倒くささとは今日でサヨナラできます!


1. なぜGASでアンケート結果をグラフ自動作成するべきなのか?

Googleフォームなどでアンケートを取るのは簡単ですが、
その後の

  • 回答をまとめる

  • グラフにする

  • レポート化する

作業に毎回手作業が発生すると、ムダな時間と労力が発生します。

GASを使えば、

  • スプレッドシートに集まった回答を自動集計

  • 指定したタイミングでグラフを自動作成

  • 見やすい資料に即変換

ができるので、
一度仕組みを作れば、あとはほぼ放置で運用できるのです!


2. 【準備編】必要なもの

  • Googleフォーム(アンケート用)

  • Googleスプレッドシート(回答保存用)

  • Google Apps Script(GAS:標準搭載)

これだけあればOK!
すべて無料で始められます。


3. 【設計編】GASでアンケート結果をグラフ化する全体の流れ

まずはざっくり設計を整理しておきましょう。

■ 基本フロー

  1. アンケート結果(スプレッドシート)を取得

  2. 回答データを集計

  3. グラフを自動生成

  4. レポートシートに貼り付け or メール送信

この流れをGASスクリプト+トリガー実行で回すだけ!


4. 【基本編】GASでアンケート結果を自動グラフ化する方法

では、実際にコードを書いていきます!


ステップ① スプレッドシートを準備する

Googleフォームに連携されたスプレッドシートを使います。
(もしくは、手動で作成した回答データシートでもOK)

例)「好きな果物アンケート」

タイムスタンプ 好きな果物
2024/05/01 10:00 りんご
2024/05/01 10:05 みかん
2024/05/01 10:10 りんご

ステップ② Apps Scriptエディタを開く

スプレッドシート上部メニュー
「拡張機能」→「Apps Script」→「新しいプロジェクト作成」


ステップ③ サンプルスクリプトを書く

集計してグラフを作成するスクリプト

function createSurveyChart() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const dataSheet = ss.getSheetByName('フォームの回答'); // 回答シート名
  const reportSheet = ss.getSheetByName('集計結果') || ss.insertSheet('集計結果');
  
  reportSheet.clear(); // 集計シートを初期化
  
  const dataRange = dataSheet.getRange(2, 2, dataSheet.getLastRow() - 1, 1); // 「好きな果物」列を対象
  const data = dataRange.getValues();
  
  const counts = {};
  
  data.forEach(row => {
    const item = row[0];
    if (item) {
      counts[item] = (counts[item] || 0) + 1;
    }
  });
  
  // 集計結果をシートに書き込む
  const output = Object.entries(counts).sort((a, b) => b[1] - a[1]);
  reportSheet.getRange(1, 1, output.length, 2).setValues(output);
  
  // グラフを作成
  const chart = reportSheet.newChart()
    .setChartType(Charts.ChartType.PIE)
    .addRange(reportSheet.getRange(1, 1, output.length, 2))
    .setPosition(1, 4, 0, 0)
    .build();
  
  reportSheet.insertChart(chart);
}

これを実行すると、

  • 回答内容を集計

  • 集計結果を「集計結果」シートに出力

  • 自動的に円グラフを作成して表示

してくれます!


5. 【応用編】さらに便利な機能を追加しよう!


✅ 棒グラフ(カラムチャート)で見せたいとき

.setChartType(Charts.ChartType.COLUMN)

に変更するだけ!


✅ 時系列で集計したいとき

回答日時を元に、「日別回答数グラフ」も簡単に作れます。


✅ 回答者別グラフを作る

「どの部署の人がどれを選んだか」など、複数軸で集計&グラフ化も可能です!


6. 【運用編】自動更新を実現するために


✔️ トリガー設定で定期自動実行

例えば

  • 毎朝6時

  • フォーム回答が来たらすぐ

など、トリガーで自動集計&グラフ更新できるようにするとさらにラクに!


✔️ エラーハンドリングも入れて安心運用

「回答が空だった」「集計対象がなかった」などにも備えて、エラーチェックを組み込むと実用性が上がります。


7. まとめ|GASでアンケート結果をグラフ自動作成して、集計の手間をゼロにしよう!

GASを使えば、

  • アンケート結果集計

  • グラフ作成

  • レポート自動生成

完全自動化できます!

まずはこの記事で紹介したシンプルな仕組みを試してみて、
慣れてきたら「時系列分析」「クロス集計」「レポート自動配信」など、
どんどん便利な仕組みへ進化させていきましょう!

Shop now