【完全無料】GASでGoogleフォーム回答を自動集計&グラフ化!一瞬で見える化する神スクリプト公開

はじめに:「集計&グラフ作成」まだ手作業で消耗していませんか?

  • フォームの回答データを手動で集計

  • エクセルでいちいちグラフ作成

  • 報告資料を作るだけで一日が終わる…

こんな苦行、今日で終わりにしましょう!

この記事では、
Google Apps Script(GAS)を使ってGoogleフォームの回答を自動集計&グラフ化する方法を、超わかりやすく解説します!

これを導入すれば——

✅ 回答が入るたびにリアルタイムで集計
✅ 集計結果を自動でグラフに反映
✅ レポート作成時間ゼロ!

今日からあなたも、
**「神速で結果を見える化できる人」**になれます!


なぜGASでフォーム集計+自動グラフ化するべきなのか?

■ 手動集計&グラフ作成は時代遅れ

  • 回答が増えるたびに手動で集計し直し

  • 毎回グラフを手で編集

  • 作業に追われ、分析する余裕なし

これでは、
**「データを使う」のではなく「データに使われる」**状態です。

■ GASなら、回答→集計→グラフ反映まで全自動!

GASを使えば、

  • フォーム回答が来た瞬間に集計更新

  • グラフも自動で最新データにリフレッシュ

  • 面倒な作業ゼロで、すぐに分析スタート

しかも無料
つまり、導入しない理由はありません!


ステップ1:Googleフォームと連携するスプレッドシートを用意する

まずは、Googleフォームの設定画面から
「回答」→「スプレッドシートにリンク」して、
回答保存用スプレッドシートを作成しましょう。

このシートが、
回答データのリアルタイム保存場所になります!


ステップ2:GASで回答集計&グラフ作成スクリプトを書く

GASエディター(Google Apps Script)を開き、
新規プロジェクトを作成して以下を貼り付けます。

const FORM_SHEET_NAME = 'フォームの回答 1'; // 回答保存シート名
const SUMMARY_SHEET_NAME = '集計結果'; // 集計用シート名

function summarizeResponses() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var formSheet = ss.getSheetByName(FORM_SHEET_NAME);
  var summarySheet = ss.getSheetByName(SUMMARY_SHEET_NAME) || ss.insertSheet(SUMMARY_SHEET_NAME);

  summarySheet.clear(); // まず初期化

  var data = formSheet.getDataRange().getValues();
  var headers = data[0];
  
  var answerCounts = {};

  for (var i = 1; i < data.length; i++) {
    var answer = data[i][1]; // 2列目の回答(例えば「好きな色は?」など)
    if (answer) {
      answerCounts[answer] = (answerCounts[answer] || 0) + 1;
    }
  }

  summarySheet.appendRow(['選択肢', '回答数']);

  for (var key in answerCounts) {
    summarySheet.appendRow([key, answerCounts[key]]);
  }

  createChart(summarySheet);
}

// 集計結果からグラフ作成
function createChart(sheet) {
  var chartBuilder = sheet.newChart()
    .setChartType(Charts.ChartType.COLUMN)
    .addRange(sheet.getRange('A1:B' + sheet.getLastRow()))
    .setPosition(2, 4, 0, 0)
    .setOption('title', '回答集計グラフ');

  sheet.insertChart(chartBuilder.build());
}

これを実行すれば、
フォーム回答→自動集計→自動グラフ作成まで一発で完了!


ステップ3:フォーム回答ごとに自動で動かす

この仕組みをさらに完璧にするために、
新しい回答が届いたら自動でスクリプトが動くように設定しましょう。

手順:

  1. GASエディターの「トリガー」アイコンをクリック

  2. 「+トリガーを追加」

  3. 関数:summarizeResponses

  4. イベントの種類:「フォーム送信時」

これで、
回答が送信されるたびに自動集計&自動グラフ更新が走ります!


ステップ4:さらに実用的にカスタマイズするテクニック

■ 集計対象を複数質問に拡張

複数設問を集計したい場合、対象列を増やして同様に処理できます!

var questionColumnIndexes = [1, 2, 3]; // 2列目〜4列目を集計対象にする

■ 折れ線グラフや円グラフに切り替え

例えば、回答傾向を時間経過で見るなら折れ線グラフが便利です。

.setChartType(Charts.ChartType.LINE)

また、シェア率を表したいなら円グラフもGood!

.setChartType(Charts.ChartType.PIE)

用途に応じて使い分けましょう!


実運用で注意すべきポイント

■ スプレッドシートのサイズ管理

回答数が数万件を超えると、シートが重くなる場合があります。
古いデータは別ファイルにアーカイブする運用も検討しましょう。

■ トリガーの実行上限

無料のGASアカウントには、トリガー実行回数に制限(1日あたり)があります。
大量回答が予想される場合は注意!


まとめ:GASで「回答→集計→グラフ作成」を完全自動化しよう!

今回紹介した内容をまとめると——

  • GASを使えばGoogleフォーム回答の集計・グラフ化が自動でできる

  • 回答のたびにリアルタイム更新される

  • レポート作成の時間を大幅削減できる

  • 完全無料で導入可能!

もう、
「集計に追われて本来の分析ができない」時代は終わりました。

今日からあなたも、
GASでGoogleフォーム回答をスマートに見える化して、
次のアクションにつなげる「データ活用プロフェッショナル」になりましょう!

Shop now