Googleフォーム回答をスプレッドシートに自動整理

目次

Googleフォーム回答をスプレッドシートに自動整理する方法(カテゴリ別仕分け)

Googleフォームの回答を カテゴリ別に自動整理してくれるスクリプト を作ってみましょう。

たとえば:

  • お問い合わせ種別で「商品」「サポート」「その他」に自動振り分け
  • 満足度アンケートを点数別に自動でシート分け
  • 申請フォームを部署別に自動振り分け

など、回答整理の手間が一気になくなります。


この記事でできること

  • フォーム回答を自動でスプレッドシートに仕分け
  • 条件に応じて別シートへ移動・コピペ
  • 回答の増加に合わせて自動処理(トリガー設定)

事前準備(3分)

  1. Googleフォームを作成
  2. 「回答」タブ → スプレッドシートへリンク
  3. スプレッドシートが自動生成される

次に、この自動生成されたスプレッドシートを開き、カテゴリ別のタブ(シート)を作成します。

例:

  • 商品
  • サポート
  • その他

GAS(Google Apps Script)を開く

スプレッドシートを開いた状態で、

拡張機能 → Apps Script

をクリック。

初期コードを削除して、次のコードを貼り付けます。


カテゴリ自動仕分けスクリプト(貼るだけOK)


// ▼ 設定部分:カテゴリの判定に使う列番号
const CATEGORY_COL = 2;  // B列(0始まりではなく1始まり)

function onFormSubmit(e) {
  const row = e.values;        // 回答行(配列)
  const category = row[CATEGORY_COL - 1]; // B列からカテゴリを取得

  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName(category);

  // カテゴリ名と一致するシートがあるか確認
  if (!sheet) return;

  // 挿入する最終行を取得
  const lastRow = sheet.getLastRow() + 1;

  // 回答データを挿入
  sheet.getRange(lastRow, 1, 1, row.length).setValues([row]);
}

ポイント:

  • カテゴリ名とシート名が同じなら自動で振り分け
  • 条件分岐は不要でシンプル
  • フォーム送信があるたびに自動で実行

トリガー設定(自動実行)

GAS画面右上の「時計マーク」 → トリガーを追加

設定:

  • 実行する関数:onFormSubmit
  • イベントの種類:フォーム送信時

これで、フォームが送信されるたび自動で仕分けが走ります!


応用:条件を追加して振り分け

カテゴリ名とシート名が一致しない場合は、条件分岐で対応できます。


if (category === "商品") {
  sheet = ss.getSheetByName("商品");
} else if (category === "サポート") {
  sheet = ss.getSheetByName("サポート");
} else {
  sheet = ss.getSheetByName("その他");
}

応用の幅が一気に広がります。


まとめ

Googleフォーム × スプレッドシート × GAS でできること:

  • 回答をカテゴリ別に自動整理
  • 条件ごとにシートへ移動
  • 手作業ゼロで集計を完全自動化

事務作業が大幅に減り、ミスもなくなるので非常におすすめの自動化です。


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