Googleフォーム

クラパス活用術

Googleフォームで予約システムを作る方法|定員制限・自動締切も解説【GAS・アドオン】

更新日:

投稿日:

Googleフォームはアンケートや問い合わせフォームとして広く利用されていますが、工夫次第でイベントやセミナーの予約フォームとしても活用できます。

しかし、「定員オーバーを防ぎたい」「時間帯ごとに人数制限をかけたい」といった予約管理を行う場合、標準機能だけでは対応が難しいのが実情です。手動での管理に手間や不安を感じている方も多いのではないでしょうか。

そこで本記事では、Googleフォームで定員制限付きの予約システムを作る方法を解説します。
プログラミング不要で手軽に導入できる「アドオン」を使う方法と、より柔軟で本格的な自動化が可能な「Google Apps Script(GAS)」を使う方法の2つを、具体的な手順とあわせて紹介します。

CLOUDPASSイベント資料ダウンロード

目次

Googleフォームの標準機能で予約システムの定員管理はできる?

Googleフォームを使えば、イベント名、希望日時、氏名、連絡先などの項目を設けた予約フォームを簡単に作成できます。
回答は自動的にGoogleスプレッドシートに集計されるため、予約者リストの管理も容易です。
このように、基本的な予約受付の仕組みは標準機能で十分に構築可能です。

しかし、多くのイベントやセミナーで必要となる「定員管理」については、標準機能だけでは対応が難しいのが現状です。
上限に達した際に自動で受付を停止する機能は備わっていません。

標準機能で定員を自動で制限する

Googleフォームには回答受付を停止する機能に加え、回答数の上限を数値で指定して自動停止させる標準機能が備わっています。以前はアドオンやGoogle Apps Scriptでの対応が必要でしたが、現在はフォームの編集画面から直接設定が可能です。

設定した定員に達した際に自動でフォームを閉鎖できれば、管理者が常に状況を監視して手動で受け付けを停止する手間を省けます。ただし、標準機能で対応できるのはフォーム全体の回答数に限られる点に注意が必要です。

選択肢ごとの細かな定員制限や、当日の運用効率、ミス防止を重視する場合は、専用の予約システムを検討することで運用負担を大きく軽減できます。システムの仕組みや選び方は、以下の記事で詳しく解説しています。

予約システムとは?仕組み・メリット・選び方を解説

定員管理を実現する2つの具体的な方法

Googleフォームの標準機能にない定員管理は、追加のツールやスクリプトを導入することで実現できます。
主な作り方として、プログラミング知識が不要な「アドオン」を利用する方法と、GoogleAppsScript(GAS)というプログラミング言語を用いてより高度な自動化を行う方法の2つが挙げられます。
アドオンは手軽に導入できる反面、動作が不安定になる可能性もあります。

一方、GASは設定に手間がかかりますが、安定した動作と柔軟なカスタマイズが可能です。
自身のスキルや求める機能に応じて適切な方法を選択することが重要です。

CLOUDPASSイベント資料ダウンロード

【一番かんたん】アドオンを追加してフォームの回答数に上限を設ける方法

プログラミングの知識がない場合や、手軽に定員管理を導入したい場合に最適なのが「アドオン」を活用する方法です。
アドオンはGoogleフォームの機能を拡張するための追加プログラムで、Googleの公式マーケットプレイスから簡単に追加できます。
定員管理に特化したアドオンをインストールし、画面の指示に従って設定するだけで、回答数に上限を設ける予約システムの作り方が実現可能です。

ここでは、代表的なアドオンとその設定手順を紹介します。

formLimiterでフォーム全体の受付上限数を設定する手順

formLimiterは、フォーム全体への回答数に上限を設けられる代表的なアドオンです。
Googleフォームの標準機能では、回答の受け付けを手動で停止することはできますが、2026年1月より順次、標準機能で「回答期限」「回答数上限」が設定できるようになりました。
これらの機能を利用する際は、標準機能での設定、formLimiterなどのアドオン、またはGoogle Apps Script (GAS) の利用を検討できます。アドオンを導入する際は、動作や英語での言語表示に注意が必要です。

設定手順は、まずフォーム編集画面のメニューから「アドオンを取得」を選び、インストールを行います。
起動後にLimit typeでNumber of form responsesを選択し、上限人数と締切時のメッセージを入力してください。最後にSave and enableをクリックすれば設定完了です。

Choice Eliminator 2で選択肢ごとの定員を設定する手順

複数の予約枠など、選択肢ごとに定員を設けたい場合はChoice Eliminator 2が役立ちます。
このアドオンを導入して設定画面を開き、定員を設けたい質問項目にチェックを入れることで、各選択肢の横に定員数を数値で入力できるようになります。

設定した定員に達した選択肢は、フォーム上から自動的に非表示になり、以降のユーザーは選択できなくなる仕組みです。
プログラミングの知識がなくても、管理画面上での操作だけで手軽に導入できる点が大きなメリットといえます。

ただし、サードパーティ製のアドオンであるため、Googleフォーム側の仕様変更によって動作が不安定になる可能性がある点には注意が必要です。
確実に運用したい場合は、イベント前に動作確認を行うことを推奨します。

アドオンを利用するメリット|プログラミングの知識がなくても導入できる

アドオンを利用する利点として、プログラミングの専門知識が不要な場合がある点が挙げられます。通常、定員管理の自動化にはスクリプトの記述が必要になることがありますが、アドオンによっては管理画面上でのクリック操作や簡単な入力で設定が完了するものもあります。Googleの公式マーケットプレイスからインストールできるアドオンの中には、画面の指示に従うだけで直感的に操作できるものもあり、専門的な知識がない担当者でも比較的容易に導入できる可能性があります。

これにより、複雑な作業を軽減し、定員管理機能付きの予約フォームを作成することが期待できます。

アドオンを利用する際の注意点|動作が不安定になる可能性も

手軽で便利なアドオンですが、利用にはいくつかの注意点があります。
まず、アドオンはGoogleではなくサードパーティによって開発されているため、Googleフォーム本体の仕様変更に追随できず、ある日突然動作が不安定になったり、機能しなくなったりする可能性があります。また、多くのアドオンは海外製で、設定画面や説明が英語表記のみの場合が少なくありません。

また、以前は回答が上限に達してからフォームが閉鎖されるまでにタイムラグが生じ、定員を超過するリスクがありましたが、2026年1月のGoogleフォームのアップデートにより、日時指定での自動クローズや回答数による上限設定が標準機能として追加されたため、定員オーバーのリスクは低減されています。

CLOUDPASSイベント資料ダウンロード

【本格的な自動化】GASを活用して定員に達したら受付を締め切る方法

アドオンの不安定さを解消し、より確実で柔軟な定員管理を実現したい場合は、Google Apps Script(GAS)の活用が最適です。GASはGoogleが提供するプログラミング言語で、これを用いることで各種サービスを自由に連携・自動化できます。

JavaScriptの基礎知識があればスムーズに対応可能ですが、プログラミング未経験の方にはややハードルが高いため、まずはアドオンから試すのがおすすめです。

GASを使えば、回答が定員に達した瞬間に自動で受付を締め切ったり、特定の選択肢を非表示にしたりといった高度な制御が行えます。設定には手間がかかりますが、一度構築すれば安定した運用が期待できるため、本格的な予約システムの作り方を探している方に適しています。

方法1:回答の総数に応じてフォーム全体を自動で受付停止にするGAS設定

この方法は、イベント全体で定員を一つだけ設定する場合に有効です。
具体的には、フォームに回答が送信されるたびにGASプログラムが起動し、現在の総回答数をチェックします。
そして、あらかじめスクリプト内に設定しておいた上限数に達したと判断された時点で、フォームの受付を自動的に停止します。

この仕組みにより、管理者が手動で締め切り作業を行う必要がなくなり、定員超過のリスクを大幅に減らすことが可能です。
設定はスクリプトエディタで行います。

ステップ1:フォームからスクリプトエディタを開きコードを記述する

まず、設定したいGoogleフォームを開き、画面右上のメニュー(点が3つ並んだアイコン)から「スクリプトエディタ」を選択します。
すると、新しいタブでスクリプトを記述する画面が表示されます。

初期状態で入力されているコードはすべて削除し、これから記述する定員管理用のGASコードを貼り付けます。
このコード内に、定員の上限数を指定する箇所があるため、実際の募集人数に合わせて数値を書き換えます。
これが、自動化の基盤となるプログラムの作り方の第一歩です。

以下は、回答数が上限に達したらフォームを自動で停止するGASのサンプルコードです。

function checkLimit(e) {
  const form = FormApp.getActiveForm();
  const responses = form.getResponses();
  const limit = 50; // 定員数

  if (responses.length >= limit) {
    form.setAcceptingResponses(false);
  }
}

※「limit = 50」の数値を変更することで、任意の定員数に設定できます。

ステップ2:上限に達した際に表示されるメッセージを編集する

スクリプト内には、定員に達してフォームの受付が停止された後に、アクセスした人に対して表示されるメッセージを定義する部分があります。
デフォルトでは「上限に達しました」のようなシンプルな文言が設定されていますが、この部分は自由に編集が可能です。

「定員に達したため、受付を終了いたしました。たくさんのお申し込み、誠にありがとうございました。」のように、より丁寧な案内に変更することで、フォームを訪れた人に対して状況を分かりやすく伝えられます。

ステップ3:フォーム送信時にプログラムが起動するようトリガーを設定する

コードを記述しただけでは自動化は完了しません。
プログラムが適切なタイミングで実行されるように「トリガー」を設定する必要があります。
スクリプトエディタの左側にある時計のアイコン(トリガー)をクリックし、「トリガーを追加」を選択します。

設定画面で、「実行する関数を選択」には作成した関数名を、「イベントのソースを選択」では「フォームから」を、「イベントの種類を選択」では「フォーム送信時」を選びます。
これにより、回答が1件送信されるたびにプログラムが起動し、定員をチェックするようになります。

方法2:予約枠など選択肢ごとに定員を設け、自動で項目を非表示にするGAS設定

セミナーの時間帯やワークショップのコースなど、複数の選択肢ごとに異なる定員を設けたい場合には、Google Apps Script(GAS)を用いた高度な設定が有効です。この方法では、Googleスプレッドシートと連携し、各項目の予約状況を動的に管理します。

回答が送信されるたびに、GASがスプレッドシート上の残席数を確認し、定員に達した選択肢をフォームから自動的に削除します。これにより、満席の枠への申し込みを未然に防ぎ、手動での締め切り作業を不要にします。

ただし、この処理は完全に即時反映されるわけではなく、ユーザーがフォームを開いたタイミングで項目が更新される仕組みです。複数人が同時にアクセスした場合、スクリプトの実行順によっては定員を超過する可能性があるため、100%の精度を保証するものではない点に留意してください。

ステップ1:Googleスプレッドシートで各選択肢の定員数を管理する

まず、予約状況を管理するためのGoogleスプレッドシートを新規に作成します。
このシートに、フォームの選択肢と完全に一致する文言をリストアップし、それぞれの定員数を隣のセルに入力します。
例えば、A列に「10:00の回」「13:00の回」といった選択肢を、B列にそれぞれの定員「10」「15」といった数値を入力します。

このスプレッドシートが予約状況を管理するデータベースの役割を果たし、GASはここの情報を参照してフォームの表示を制御します。
複数の選択肢の管理はこのシートが起点となります。

ステップ2:スプレッドシートと連携するGASコードをスクリプトエディタに記述する

次に、Googleフォームのスクリプトエディタを開き、スプレッドシートと連携して選択肢を制御するためのGASコードを記述します。
コード作成時の重要なポイントは、事前に用意したスプレッドシートのIDとシート名を正確に指定することです。スプレッドシートのURLに含まれる文字列からIDを特定し、コード内に反映させてください。

このプログラムは、フォームが読み込まれた際や回答が送信されたタイミングで動作します。スプレッドシートを参照して各項目の現在の申込数と定員を比較し、上限に達した選択肢をフォームから自動的に非表示にします。手動で更新する手間を省き、リアルタイムに近い形で定員管理を行う仕組みを構築します。

ステップ3:定員に達した予約枠を自動で締め切るためのトリガーを設定する

最後に、この高度な締め切り処理を自動化するためのトリガーについて説明します。
Googleフォームの標準機能では、フォーム送信時やフォームを開くときに回答数に基づいて項目を非表示にしたり、残席数を更新したりするトリガーは直接設定できません。しかし、Google Apps Script(GAS)を活用することで、これらの機能を実装することが可能です。

例えば、フォーム送信時に残席数を更新し、満席になった項目を非表示にするカスタムスクリプトを設定できます。
また、ユーザーがフォームを開く際に、すでに満席になっている選択肢が表示されないようにするスクリプトも実装できます。
これらのカスタムスクリプトによる自動化を通じて、よりリアルタイムに近い形で定員管理を行い、予約の機会損失や混乱を防ぐことが期待できます。

CLOUDPASSイベント資料ダウンロード

Googleフォームを予約システムとして使う際に知っておきたいこと

Googleフォームは手軽に定員管理機能付きの予約フォームを作成できる便利なツールですが、本格的な専用予約システムとは異なるため、いくつかの限界点や注意点が存在します。
これらの特性を理解しておくことは、予期せぬトラブルを避け、スムーズな運用を行う上で非常に重要です。

特に、同時申し込みによるリスクや、予約者自身による変更・キャンセルができない点などは、運用を開始する前に把握しておくべきでしょう。

同時申し込みによるダブルブッキングが発生するリスク

アドオンやGASを用いて定員管理を行う場合でも、ダブルブッキングのリスクを完全には排除できません。
特に、受付終了間際に複数のユーザーがほぼ同時に申し込み手続きを完了させた場合に問題が起こり得ます。
フォームへの回答が送信されてから、スクリプトが実行されて受付が停止されるまでには、わずかなタイムラグが存在します。

このコンマ数秒の間に複数の申し込みが集中すると、定員を超えて予約が受け付けられてしまう可能性があります。
厳密な定員管理が求められる場面では注意が必要です。

予約情報の確認や変更は手動での対応が必要

Googleフォームには、予約者が自身の予約内容を確認したり、日程変更やキャンセルを申請したりするための機能は備わっていません。
予約完了メールの自動送信も標準では行われないため、予約者側は申し込み内容を手元で確認する手段がありません。

そのため、予約内容の変更やキャンセルに関する問い合わせは、すべてメールや電話で個別に対応する必要があります。
これらの対応はすべて手動で行うため、予約数が多くなると管理者の負担が増大する可能性があります。

より高度な機能が必要なら専用の予約システム導入を検討しよう

Googleフォームは無料で手軽に導入できる点が大きな魅力ですが、予約システムとして運用するには機能面で限界があります。

特に、クレジットカードやオンライン決済による事前決済、予約完了時や前日のリマインドメールの自動送信といった機能は標準搭載されていません。また、ユーザー自身による予約のキャンセルや変更、リアルタイムでの厳密な定員管理も難しく、運用の規模が大きくなるほど手動管理の負担やミスが増大します。

もし、これらの高度な機能が必要な場合や、ダブルブッキングのリスクを徹底的に排除したい場合は、専用の予約システムの導入を検討するのが現実的です。

予約システムでは、リアルタイムの定員管理やオンライン決済、リマインド通知などを自動化でき、運用負担や人的ミスを大きく削減できます。

「どのような仕組みで動いているのか」「自社に合うサービスはどう選べばいいのか」といった点については、以下の記事で詳しく解説しています。

予約システムとは?仕組み・メリット・選び方を解説

Googleフォームの予約システムに関するよくある質問

ここでは、Googleフォームで定員管理機能付きの予約フォームを作成・運用する際によく寄せられる質問とその回答をまとめました。
アドオンやGASの利用料金、設定の変更、通知機能など、実践的な内容に絞って解説します。

GASやアドオンの利用に料金はかかりますか?

基本的に無料です。
GoogleAppsScript(GAS)はGoogleアカウントがあれば追加料金なしで利用できます。

また、本記事で紹介した「formLimiter」や「ChoiceEliminator2」をはじめ、ほとんどのアドオンは無料でインストール・利用可能です。
ただし、一部のより高機能なアドオンには有料プランが用意されている場合もあります。

一度設定した定員数を後から変更できますか?

はい、いつでも変更可能です。
アドオンやGAS(Google Apps Script)を利用している場合、システムによって設定されている上限数は、ユーザーが任意に設定画面やコードから直接変更することはできません。
しかし、一部の上限は、Google Workspaceアカウントのプランや利用状況に応じて引き上げられる可能性があります。

予約が申し込まれた際にメールで通知を受け取る設定は可能ですか?

はい、可能です。

Googleフォームで予約の申し込みがあった際に通知を受け取る設定は、フォームの編集画面にある「回答」タブから行うことができます。

タブ内のメニューアイコン(点が3つ並んだマーク)をクリックし、「新しい回答についてのメール通知を受け取る」を選択してチェックを入れてください。設定を有効にすると、回答が送信されるたびに、フォームの作成者が使用しているGoogleアカウント宛てに通知メールが自動で届くようになります。

なお、この標準機能による通知を受け取れるのはフォームの作成者のみです。複数の関係者で情報を共有したい場合や、より確実な運営管理を求める場合は、Google Apps Script (GAS) やアドオン、またはGoogleスプレッドシートの通知ルールを活用することで、複数人への通知や高度な管理が可能です。イベント運営サービス資料などの活用も検討してください。

まとめ

Googleフォームは、アドオンやGoogle Apps Script(GAS)を活用することで、無料で高機能な定員制限付きの予約フォームとして運用できます。プログラミング知識がなくても手軽に導入できるアドオンと、より確実で柔軟な自動化が可能なGASという2つの手法があり、目的やスキルに応じて最適な方法を選択可能です。

導入によって手動での締め切り作業を省き、定員超過のリスクを軽減できます。全体の受付数だけでなく、複数の予約枠といった選択肢ごとの定員管理にも対応できますが、ダブルブッキングのリスクなど専用システムとの違いを理解して活用することが重要です。

より確実な定員管理や決済、自動通知などを含めて運用したい場合は、専用の予約システムの導入も有力な選択肢となります。具体的な機能や運用イメージを知りたい方は、以下の資料をご確認ください。CLOUD PASSでは、イベント運営に必要な機能や活用イメージをまとめています。

CLOUDPASSイベント資料ダウンロード


クラパス活用術一覧