目次
Contents
Googleフォーム回答をスプレッドシートに自動整理する方法(カテゴリ別仕分け)
Googleフォームの回答を カテゴリ別に自動整理してくれるスクリプト を作ってみましょう。
たとえば:
- お問い合わせ種別で「商品」「サポート」「その他」に自動振り分け
- 満足度アンケートを点数別に自動でシート分け
- 申請フォームを部署別に自動振り分け
など、回答整理の手間が一気になくなります。
この記事でできること
- フォーム回答を自動でスプレッドシートに仕分け
- 条件に応じて別シートへ移動・コピペ
- 回答の増加に合わせて自動処理(トリガー設定)
事前準備(3分)
- Googleフォームを作成
- 「回答」タブ → スプレッドシートへリンク
- スプレッドシートが自動生成される
次に、この自動生成されたスプレッドシートを開き、カテゴリ別のタブ(シート)を作成します。
例:
- 商品
- サポート
- その他
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 でできること:
- 回答をカテゴリ別に自動整理
- 条件ごとにシートへ移動
- 手作業ゼロで集計を完全自動化
事務作業が大幅に減り、ミスもなくなるので非常におすすめの自動化です。
