Contents
回答期限を「人が覚える」運用になっていませんか?
Googleフォームで依頼を出したあと、
「まだ回答が来ていない人を確認して、個別に連絡する」
という作業をしていないでしょうか。
件数が増えると、
確認漏れ・催促忘れが起きやすくなります。
この仕組みが向いているケース
この記事で紹介する方法は、
「誰が回答するか決まっている業務」で場合です。
例として、次のようなケースです。
- 社内アンケート
- 研修受講後の報告フォーム
- 月次・週次の業務報告
- 参加者・受講者が決まっている申請フォーム
あらかじめ回答者候補リスト(名簿)があることが前提になります。
考え方:判断は人、リマインドは自動
この仕組みで目指すのは、
期限管理と催促だけを自動化することです。
・誰が未回答かを把握する
・期限を過ぎたら自動で通知する
・最終的な判断や対応は人が行う
すべてを自動化しないのが、現実的で安全な運用です。
全体の流れ
- 回答者候補リストを用意する
- Googleフォームで回答を集める
- スプレッドシートで回答状況を管理する
- GASで期限チェックと催促を行う
事前準備:回答者候補リストを作る
まず、スプレッドシートで
回答者候補リスト(名簿)を作成します。
名前 | メールアドレス | 回答済 | 回答期限 | リマインド送信済
このリストを基準にして、
「誰がまだ回答していないか」を判断します。
具体例:期限付きフォームの作り方
① Googleフォームを作成する
通常どおりGoogleフォームを作成します。
設定で「メールアドレスを収集」をオンにしてください。
これにより、名簿と回答を紐づけやすくなります。
② 回答先スプレッドシートを準備する
フォームの「回答」タブから、
スプレッドシートを作成します。
回答が来たら、
名簿側の「回答済」を TRUE に更新します。
③ 回答期限を設定する
期限は、
全員同じ日付でも、個別設定でも問題ありません。
期限日を超えても「回答済」が FALSE の人が、
リマインド対象になります。
GASで期限チェックとリマインドを行う
④ Apps Scriptを開く
スプレッドシートのメニューから、
「拡張機能 → Apps Script」を開きます。
⑤ 期限超過・未回答者にメールを送る
function sendReminder() {
const sheet = SpreadsheetApp.getActiveSheet();
const data = sheet.getDataRange().getValues();
const today = new Date();
for (let i = 1; i < data.length; i++) {
const email = data[i][1];
const answered = data[i][2];
const deadline = new Date(data[i][3]);
const reminded = data[i][4];
if (answered !== true && today > deadline && reminded !== true) {
MailApp.sendEmail(
email,
'【回答のお願い】期限が過ぎています',
'お手数ですが、フォームの回答をお願いします。'
);
sheet.getRange(i + 1, 5).setValue(true);
}
}
}
このスクリプトは、
期限切れ + 未回答 + 未送信の人だけに送信します。
⑥ 時間主導トリガーを設定する
GASのトリガーで、
1日1回などの定期実行を設定します。
これで、催促作業を人が意識する必要がなくなります。
この方法が向いていないケース
- 不特定多数向けアンケート
- Webサイトのお問い合わせフォーム
- 誰が回答するか決まっていないフォーム
これらの場合、
「未回答者」という概念がないため、リマインドはできません。
まとめ:名簿がある業務ほど効果が高い
- 期限管理と催促だけを自動化するのが現実的
- 人の判断を残すことで安全に運用できる
この仕組みを入れるだけで、確認・催促にかかる時間とストレスが大きく減ります。
ぜひやってみてくださいね。
