Googleフォームの回答内容をスプレッドシートに自動集計する方法

Googleフォームを使うと、アンケートや問い合わせの回答を簡単に集められます。
でも「集計が大変」「毎回コピペしている」という方、多いですよね。

実は、Googleフォームとスプレッドシートは自動で連携でき、フォームに回答が届くたびにリアルタイムでスプレッドシートに反映できます。この記事では、初心者でも3ステップでできる自動集計の設定方法を解説します。

全体の流れ

  1. Googleフォームを作成する
  2. 回答先としてスプレッドシートを設定する
  3. (必要に応じて)GASで自動集計を強化する

① フォームを作成しよう

まずはフォームを準備します。

  • 例:「お客様アンケート」などのフォームを作成
  • 質問項目:お名前/満足度(1〜5)/自由記述 など
  • 必要に応じて「設定 → メールアドレスを収集」をON

② 回答先スプレッドシートを設定する

フォーム編集画面の上部メニュー「回答」タブを開き、右上のスプレッドシートアイコンをクリック → 「新しいスプレッドシートを作成」を選択。

これだけで、フォーム送信ごとに自動でシートへ反映されるようになります🎉

③ GASで自動集計をさらに便利にする

ここから少しステップアップ。Google Apps Script(GAS)で、満足度の平均回答数などを自動集計して「集計」シートに出力します。

function autoSummary() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  // 回答シート名は環境に合わせて変更(例:「フォームの回答 1」など)
  const answerSheet = ss.getSheetByName("フォームの回答") || ss.getSheets()[0];
  const data = answerSheet.getDataRange().getValues();
  if (data.length <= 1) return; // 回答なし

  // ヘッダー行を除く
  const rows = data.slice(1);

  // 2列目を「満足度(1〜5)」と想定して平均を算出
  const scores = rows.map(r => Number(r[1])).filter(n => !isNaN(n));
  const avg = scores.length ? (scores.reduce((a,b) => a + b, 0) / scores.length) : 0;

  // 「集計」シートを用意して出力
  const summary = ss.getSheetByName("集計") || ss.insertSheet("集計");
  summary.clear(); // 毎回作り直し
  summary.getRange("A1").setValue("項目");
  summary.getRange("B1").setValue("値");
  summary.getRange("A2").setValue("回答数");
  summary.getRange("B2").setValue(rows.length);
  summary.getRange("A3").setValue("満足度平均");
  summary.getRange("B3").setValue(avg.toFixed(1));

  // ついでに最終更新日時
  summary.getRange("A5").setValue("最終更新");
  summary.getRange("B5").setValue(new Date());
}

上のコードを「拡張機能 → Apps Script」に貼り付けて保存すれば、ワンクリック集計が完成します。

④ トリガーを設定して完全自動化

  1. Apps Script 画面で左の「時計アイコン(トリガー)」をクリック
  2. 「トリガーを追加」→ 実行関数に autoSummary を選択
  3. イベントのソース:「フォームから」/イベントの種類:「フォーム送信時」
  4. 保存(初回は権限承認が必要)

これで、フォームに回答があるたびに「集計」シートが自動更新されます。

よくある質問

  • Q. 回答シート名が違うと動かない?
    → はい。環境により「フォームの回答 1」など名称が異なるので、getSheetByName() の文字列を合わせるか、サンプルのように ss.getSheets()[0] をフォールバックにしてください。
  • Q. GASが初めてでもできますか?
    → はい。コードはコピペでOK。変更点はシート名だけです。
  • Q. 別の指標も集計したい
    → 列番号を変えれば平均・合計・件数(COUNTIF 相当の処理)など柔軟に追加できます。

まとめ

Googleフォームとスプレッドシートをつなげれば、転記ゼロ・集計自動の仕組みが作れます。
GASを組み合わせることで「送信→集計→報告」までワンクリックにできます。
アンケート、満足度調査、社内申請など、さまざまな業務で活用できますので、ぜひ活用くださいね。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次