イベントの感想アンケート、サークルの出欠、お客様の声——Googleフォームは便利ですが、集まった回答を読むのが一番面倒ではないでしょうか。
この記事では、フォームに回答が集まったら、AIが自動で要約して自分にメールしてくれる仕組みを作ります。プログラミング不要、コードはコピペでOKです。
このレシピでできること
- 毎週決まった曜日に、その週の回答の「要約」がメールで届く
- 「不満・要望っぽい回答」だけを抜き出して教えてもらうことも可能
- 回答を1件ずつ読む作業から解放される
仕組みの全体像
- Googleフォームの回答は自動でスプレッドシートに溜まる(標準機能)
- GASが週1回、その週の回答をまとめて読み取る
- GASからAIのAPIに「要約して」と依頼する
- 返ってきた要約を自分のGmailに送る
このレシピはAIのAPIキー(Gemini APIなら無料枠あり)が必要です。取得が初めての人は、先にAPI料金と安全設定の記事を読んでください。「気づいたら課金されていた」を防ぐ設定も載せています。
セットアップ手順
STEP1:フォームの回答をスプレッドシートに接続する
- Googleフォームの「回答」タブを開く
- スプレッドシートのアイコンをクリックして、回答用シートを作成する

STEP2:GASを設置する
- 作成された回答スプレッドシートを開き、「拡張機能」→「Apps Script」を開く
- 下のコードを貼り付け、冒頭の2か所(APIキーとシート名)を書き換える
- 実行して承認し、テストメールが届けば成功
- トリガーを「週ベースのタイマー・月曜午前」に設定する
function summarizeWeeklyAnswers() {
// ▼ 書き換え箇所は2つだけ
const API_KEY = "ここにGemini APIキーを貼る";
const sheetName = "フォームの回答 1";
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
const data = sheet.getDataRange().getValues();
const oneWeekAgo = new Date(Date.now() - 7 * 24 * 60 * 60 * 1000);
// 直近1週間の回答だけ抽出(A列がタイムスタンプの前提)
const recent = data.filter(function(row) {
return row[0] instanceof Date && row[0] > oneWeekAgo;
});
if (recent.length === 0) return;
const text = recent.map(function(row) { return row.join(" / "); }).join("\n");
const prompt = "以下はアンケート回答です。全体の傾向を3行で要約し、" +
"不満・要望と思われる回答があれば箇条書きで抜き出してください。\n\n" + text;
const res = UrlFetchApp.fetch(
"https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=" + API_KEY,
{
method: "post",
contentType: "application/json",
payload: JSON.stringify({ contents: [{ parts: [{ text: prompt }] }] })
}
);
const summary = JSON.parse(res.getContentText())
.candidates[0].content.parts[0].text;
MailApp.sendEmail(Session.getActiveUser().getEmail(),
"【週次】アンケート要約(" + recent.length + "件)", summary);
}
使用しているモデル名やAPIの仕様は変更されることがあります。エラーが出たら、エラー文をそのままAIに貼って「最新の書き方に直して」と頼むのが最短です(直し方の記事)。
個人情報の扱いに注意
- 氏名・連絡先を含む回答を外部のAIに送るのは避けるか、要約対象の列から除外する
- 会社・学校のアンケートで使う場合は、組織のルールを必ず確認する
- 不安な場合は「自由記述の列だけ」を要約対象にするのが安全
応用アイデア
- 要約の宛先を上司や共同運営者にして、報告自体を自動化する
- 「ポジティブ/ネガティブの件数を数えて」とプロンプトに足せば簡易的な感情分析に
- バイト先の顧客アンケートの傾向把握にも応用できます


コメント