
イベントが定員に達したのは嬉しいけど、その後の『キャンセル待ちしたい』という問い合わせ対応が大変…
せっかくイベントが定員に達しても、当日になって本当に全員出席するかどうかは分かりません。
そんな時のために、Googleフォームでキャンセル待ちの募集も設定出来たら、あなたが開催するイベントの満席率もグッと上げられますよね。
そこでこの記事では、Googleフォームでの募集が定員に達したら、自動でGoogleフォームをキャンセル待ちに切り替える方法について解説していきます。
手順としては、以下のような手順でキャンセル待ちをGoogleフォームに設定します。
あとは「キャンセル待ち」に入ってるリストに対して、
「定員に達したため、キャンセル待ちとなりました。」
などのメールをご自身で行えばOKです。
ここまでの設定をGAS(Google App Script)という、Googleが提供するプログラミングツールを活用します。



でもプログラミングって難しいんじゃないの。。
心配無用です。
この記事では、プログラミングのコードをコピペ出来る様にしています。



プログラミングが分からなくてもコピペで済む様にしてるので、安心して最後までお付き合いください!
自動化出来る作業をまだ手作業でこなしていませんか?
私はGoogleが提供するプログラミングツールである、GAS(Google App Script)と生成AIを活用してお客様の業務を自動化や効率化するサービスを提供しています。
もし今の業務の中で
- 毎回の手作業に手間を感じる
- もっと業務を効率化したい
- ルーティン業務を自動化したい
このような不満を抱えてらっしゃるなら是非一度ご連絡ください。



「こんなことできる?」くらい軽めのご相談でも大歓迎です!
GAS(Google App Script)とは
ここでは、GAS(Google App Script)を知らない人向けに簡単にGASについて解説していきます。
GASとは、Googleが提供する、業務の自動化に特化したプログラミングツールです。
「スプレッドシート」「Gmail」「Googleドライブ」といった、ビジネスでよく使うGoogleのサービス同士を連携させ、日々の作業を自動化する事が出来ます。



うちはExcelがメインだから…
という方もご安心ください。
GoogleドライブにExcelファイルをアップロードして、Excelファイルをスプレッドシートに変換すれば、ExcelファイルでもGASを使う事が可能です。



Excelをスプレッドシートに変換する方法について気になる方はこちらの記事をご参照ください!





GASを使えば、こんな事が出来ます!
- Googleのサービスを自由に連携させる
-
スプレッドシートの情報を元に、自動でGmailを送信したり、Googleカレンダーに予定を追加したり、Googleドライブにフォルダを自動作成したり。
複数のサービスをまるで一つのソフトのように連携させて、業務を自動化できます。
- 決まった時間に、完全に“ほったらかし”で動かす
-
「毎日朝8時にレポートを作成」「毎週月曜の朝9時にタスクを通知」といったように、パソコンを触っていなくても、設定した時間に自動でプログラムを実行できます。
日次・週次・月次の定型業務を、“ほったらかし”にすることが可能です。
- Googleのサービスにオリジナルの機能を追加出来る
-
スプレッドシートやGoogleフォームを使ってる際「あとこんな機能があったらいいのに…」と思うこともあると思います。
その「あとこれさえあれば…」を実現する事が出来ます。
GASを使ってオリジナルの機能を追加することで、「かゆいところに手が届かない」を解決します。
この様に、Googleのサービスを自分なりにアレンジして自動化まで出来るのがGASの大きな魅力です。
Googleフォームとスプレッドシートを連携
ここでは、Googleフォームの回答を自動でスプレッドシートに転記させる方法について解説していきます。
「回答」→「スプレッドシートにリンク」をクリック




作られたシートをダブルクリックしてシート名を「参加者リスト」に変更してください。


「参加者リスト」のシートの横にある三角ボタン(▼)をクリックしてください。
すると選択肢を選ぶ画面になると思います。
その中で「コピーを作成」をクリックしてください。


先ほどと同じ様に、コピーされたシートをダブルクリックしてシート名を「キャンセル待ちリスト」に変更してください。


GASの設定方法
ここからは、GASを実際に設定する方法について解説していきます。







この画面になったら設定完了です!
GASでキャンセル待ちを設定する
ここからは実際に、GASのコードを記述していきます。
コードのコピーを貼り付ける
まず最初に、すでに記述があるfunction myFunction() {}
を全て削除してください。
何も書かれてない状態になったら、以下のコードを先ほどの画面に貼り付けてください。
function onFormSubmit(e) {
// --- ① 定員数を設定してください ---
const capacity = 20; // 例:定員が20名の場合
// --- ② シート名を設定してください ---
const mainSheetName = "参加者リスト"; // 参加者リストのシート名
const waitingSheetName = "キャンセル待ちリスト"; // キャンセル待ちリストのシート名
// ---(ここから下は変更不要です)---
const ss = SpreadsheetApp.getActiveSpreadsheet();
const mainSheet = ss.getSheetByName(mainSheetName);
const waitingSheet = ss.getSheetByName(waitingSheetName);
const currentEntries = mainSheet.getLastRow() - 1;
if (currentEntries > capacity) {
const lastRow = mainSheet.getLastRow();
const rangeToMove = mainSheet.getRange(lastRow, 1, 1, mainSheet.getLastColumn());
const valuesToMove = rangeToMove.getValues();
waitingSheet.appendRow(valuesToMove[0]);
mainSheet.deleteRow(lastRow);
}
}
あなたが設定すべき箇所は①と②だけです。
重要な箇所だけ解説します。
- const capacity = 20;
-
ここが定員を設定する箇所です。
ここでは20にしてますが、5人なら
5
10人なら10
と自分に合わせた数字に変更してください。 - const mainSheetName = “参加者リスト”;
const waitingSheetName = “キャンセル待ちリスト”; -
ここはシート名を記述しています。
先ほど、スプレッドシート内でシート名を設定する際、 「参加者リスト」と「キャンセル待ちリスト」で、すでに設定しているなら変更する必要はありません。
コードを保存と実行
貼り付けが終わったら、Macユーザーの方は「Command + S」Windowsユーザーの方は「Ctrl+ S」を押してください。
これでコードが保存されます。
次に、このコードを実行する必要があります。
コードを実行するために、Macユーザーの方は「Command + R」Windowsユーザーの方は「Ctrl + R」を押してください。
すると以下のような画面になったと思います。


この画面になったら「権限を確認」をクリックしてください。
すると以下のような画面になると思います。


この画面になったらご自身のアカウント名をクリックしてください。
すると最後に以下のような画面になります。


この画面になったら「続行」を押してください。
これで完了です。
問題なければ、コードが実行されます。
するとコードを記述する画面の下から「実行ログ」という画面が出てきます。


この画面の中に「実行完了」と記載があったら大丈夫です。
トリガーの設定
しかし、これだけではまだ定員の設定がされていません。
最後に「トリガーの設定」が必要になります。



ついていくの大変だと思いますが、あとはここだけなので一緒に頑張りましょう!
「トリガー」とは、簡単にいうと、「この条件になったら、このプログラム(GAS)を動かして」と設定するスイッチです。
ここで言うと、「フォームが送信されたらGASを動かして」と設定します。
それでは早速設定していきます。
まずコードを記述する画面の中で、左手にある、「トリガー」という箇所をクリックします。
すると、以下のような画面に切り替わると思います。


この画面の中で右下にある「トリガーを追加」という箇所をクリックします。
すると画面が切り替わり以下のような画面になると思います。


この画面の中で、以下の設定をします。
- 「イベントのソースを選択」を「スプレッドシートから」
- 「イベントの種類を選択」を「フォーム送信時」
に変更します。
あとは、「保存」をクリックするだけです。


すると先ほどと同じ様に、「アクセス権を確認」する画面が出てくると思います。
こちらは先ほどと同じ手順で進めてもらって大丈夫です。
アクセス権の承認が終わって、トリガーがきちんと設定されていれば、トリガーが反映されます。


このような画面になっていたら完全に設定は完了です。



お疲れ様でした!
あとは試しに、設定した人数を超えたら「キャンセル待ちリスト」に移動するかご自身でも試してみてください!
まとめ
ここまでお疲れ様でした!
Googleフォームでキャンセル待ちを設定するのは、Googleフォームに自動で定員を設定する方法と比較してプログラミングのコードや設定することが増えるので、やや難しく感じるかもしれません。
その分、一度設定してしまえば、得られるメリットは絶大です。
- 連絡ミスがなくなる
- イベントの満席率が向上する
- 面倒な管理業務から解放される
この様にあなたの負担を大きく減らすだけでなく、更なるビジネスチャンスを広げることが出来ます。
ぜひこの記事を参考にして、Googleフォームでのキャンセル待ちの設定を試してみてください。
私はGoogleが提供するプログラミングツールである、GAS(Google App Script)と生成AIを活用してお客様の業務を自動化や効率化するサービスを提供しています。
もし今の業務の中で
- 毎回の手作業に手間を感じる
- もっと業務を効率化したい
- ルーティン業務を自動化したい
このような不満を抱えてらっしゃるなら是非一度ご連絡ください。



「こんなことできる?」くらい軽めのご相談でも大歓迎です!