「アドオンかGASを入れれば定員管理はできる」――Googleフォームで予約を受け付ける方法を調べると、ほぼ必ずこの答えにたどり着きます。この説明は半分だけ正しいものです。
フォームが送信時に見ているのは、フォーム全体の回答数であって、その時間枠が空いているかどうかではありません。この差が、作り込んでも二重予約が消えない理由です。この記事では、まず無料でできる手順を最後まで示し、そのうえで残る手作業、二重予約が消えない仕組み、Googleカレンダーの予約スケジュールで足りるかの見極め、予約ツールに移る分岐点までを順に扱います。
目次
少人数で予約と日程調整を回す方法全般は、個人・小規模チーム向けリソース集もあわせてご覧ください。
Googleフォームで予約を受け付ける手順

Googleフォームだけで予約の受付は成立します。費用は0円で、必要なのはGoogleアカウントだけです。実際の手順は次の5つです。
- 質問項目を作る――氏名、メールアドレス、電話番号、要望など。メールアドレスは「回答のコピーを回答者に送信」を有効にするために必須にしておきます
- 日時を選択肢にする――「8月6日(水)10:00」のようなラジオボタンを並べます。日付と時刻を別の質問に分けると、存在しない組み合わせが選べてしまうため、1つの質問に「日付+時刻」でまとめるのが安全です
- 回答の上限と終了日を設定する――公開設定から「終了日または回答数の上限を設定」で、フォーム全体の受付を止められます
- 回答をスプレッドシートで受ける――回答タブからスプレッドシートに連携し、一覧で管理します
- 自動返信を有効にする――回答者に控えのメールが届きます
ここまでで、申込みを受けて一覧にため、控えを返すところまでは自動化できます。小規模なイベントや、枠が競合しにくい受付なら、これで十分に回ります。問題が出るのは、1つの時間枠に1人しか入れられない予約――面談、レッスン、施術のような形式に使ったときです。
手順どおりに作っても残る3つの手作業

フォームが受け取ってくれるのは申込みまでです。予約として成立させるには、次の3つが人の手に残ります。
- カレンダーへの転記――回答が入るたびに、自分の予定表へ手で書き写します。ここを飛ばすと、自分自身が同じ時間に別件を入れてしまいます
- 「確定」の連絡――自動返信の文面は「回答を受け付けました」であって、「その日時で確定しました」ではありません。実際に受けられるかを確認して、あらためて連絡する必要があります
- リマインドと変更対応――前日の連絡も、日時変更やキャンセルの受付も、フォームの外側で行います
この3つは件数に比例して増えます。予約1件あたり5分と見ても、月30件なら月2時間30分。フォームを作った時点では見えず、運用を始めてから効いてくる部分です。
選択肢を手で消す作業も加わります。埋まった時間枠を残したままにすると重複して申し込まれるため、予約が入るたびにフォームを開いて該当の選択肢を削除する運用が発生します。これを自動化したい、というのが多くの人の出発点です。
二重予約が消えない理由:フォームが見ているのは「回答数」だけ
自動化の方法は実際にあります。選択肢を自動で消すアドオンや、Google Apps Script(GAS)で残数を管理する方法です。ただし、どちらを使っても二重予約をゼロにはできません。理由はフォームの仕組みそのものにあります。
Googleフォームで設定できる上限は、フォーム全体に対して1つだけです。Googleのヘルプにも「フォームで受け付ける回答数の上限を入力します」とあり、選択肢ごとの定員を設ける項目はありません。「選択肢A-50名、選択肢B-50名」のように枠ごとに定員を持たせたい、という質問が繰り返し出るのはこのためです。
さらに重要なのは、その上限すら絶対ではないことです。Googleは自社のヘルプで次のように明記しています。「複数のユーザーが同時に回答した場合、回答数の上限に関係なく回答が受け付けられます。」(出典: Google ドキュメント エディタ ヘルプ「フォームの回答を表示、管理する」、2026年8月時点)。上限を作った本人が、上限を超えることがあると書いているわけです。
つまりフォームは、送信ボタンが押された瞬間に「この枠はまだ空いているか」を確かめていません。確かめているのは「フォーム全体の回答が何件たまったか」だけです。アドオンやGASは、その外側で残数を数えて選択肢を消しているに過ぎず、数え終わる前に次の送信が届けば通ってしまいます。受付終了の直前や、案内メールを一斉に送った直後ほど起きやすいのはこのためです。
ここから導かれる判断は単純です。枠の重複が業務上の事故になるなら、フォームの作り込みは投資先として正しくありません。逆に、重複しても後から個別に連絡すれば済む受付なら、フォームで足ります。
フォームを作る前に、Googleカレンダーの「予約スケジュール」を試す

あまり知られていませんが、Googleカレンダー自体に予約ページを作る機能があります。「予約スケジュール」です。カレンダーの空きから枠を出すため、フォームと違って既存の予定と重なりません。フォームを作り込む前に、まずこちらで足りるかを確かめる価値があります。
ただし無料の範囲は限られています。Googleのヘルプによれば、個人のGoogleアカウントで作成できる予約ページは1つです。複数の予約スケジュール、予約者への自動リマインダーメール、複数カレンダーの空き状況の確認、予約に対する支払いの受け付け、共同主催者の追加といった機能には、対象となる Google Workspace サブスクリプションまたは Google One メンバーシップが必要とされています(出典: Google カレンダー ヘルプ「予約スケジュールのプレミアム機能の比較」、2026年8月時点)。
判断はここで分かれます。予約ページが1つで足り、リマインドも支払いも要らないなら、追加費用をかけずに解決します。この場合、この先を読む必要はありません。逆に、メニューごとにページを分けたい、前日のリマインドを自動で送りたい、事前に支払いを受け取りたい――このいずれかに当てはまるなら、有料の範囲に入るため、他の選択肢と並べて比べる段階になります。
予約ツールに移る分岐点と、移る前に確認する項目

どの方法がどこまで耐えるかを、4つの軸で並べます。自分の運用がどの列に近いかで、次の一手が決まります。
| 条件 | Googleフォーム | Googleフォーム+GAS/アドオン | Googleカレンダー 予約スケジュール | 予約ツール |
|---|---|---|---|---|
| 時間枠ごとの定員 | × | △(同時送信で抜ける) | ○ | ○ |
| 既存予定との重複防止 | × | × | ○ | ○ |
| 自動リマインド | × | △(自作) | △(有料の範囲) | ○ |
| 事前決済 | × | × | △(有料の範囲) | ○ |
| 予約ページの複数作成 | ○ | ○ | △(無料は1つ) | ○ |
| 自分のサイトへの埋め込み | ○ | ○ | △ | ツールにより異なる |
いちばん下の行は見落とされがちです。自分のホームページに予約欄をそのまま埋め込みたい場合、Googleフォームは強い選択肢のままです。専用ツールでも埋め込みに対応しないものがあり、その場合はリンクやQRコードで案内する形になります。埋め込みが要件なら、そこを最初に確認してください。
比較の際に見ておきたい項目は、次の4つです。
- 選ばれた枠がその場で閉じるか(他の人が同じ枠を取れなくなるか)
- 自分のカレンダーの既存予定と自動で突き合わせるか
- 受付フォームの項目を自分で作れるか(フォームで作っていた質問をそのまま移せるか)
- 月額のほかに予約1件ごとの課金がないか
以下では、この4点を満たすツールの一例として、SailLab を取り上げます。
SailLab(セイルラボ)

SailLab は、予約の受付とカレンダーの照合を1つにまとめた国産の予約システムです。フォームで作っていた質問項目をそのまま移せるうえ、枠の重複は予約ページ側で起きないように扱われます。
- 受付フォームの作成: 短文・長文・メール・電話番号・数値・プルダウン・ラジオボタン・チェックボックス・日付・時刻などの項目を組み合わせ、必須/任意や入力チェックも設定できます。テンプレートとして保存し、複数の予約ページで使い回せます
- カレンダー照合: Google カレンダーと Microsoft Outlook に接続し、どのカレンダーを競合判定に使うかを個別に選べます。SailLab の外で入れた予定も空き枠から除かれます
- 定員とキャンセル待ち: 1つの時間枠に複数人が参加するイベント形式では、定員とキャンセル待ちを設定できます(Light プラン以上)
- 自動リマインド: 何日前・何時間前に送るかを予約ページごとに設定でき、面談後のフォローアップ送信にも使えます
- 事前決済: Stripe と連携し、予約と同時のカード決済、または後払いの請求書発行に対応します(Standard プラン以上)
設定は予約ページ単位のため、たとえば次のような使い分けができます。
- 個別面談・レッスン用: 1枠1名の予約ページ。カレンダーの空きから枠を出し、前日にリマインドを自動送信します
- 説明会・体験会用: 定員つきのイベント形式。定員に達した枠は選べなくなり、キャンセル待ちで受け付けます
| プラン | 月額(税抜) | 定員つきイベント | 事前決済 |
|---|---|---|---|
| Free | ¥0 | ― | ― |
| Light | ¥1,000(年払いで月あたり¥800) | ○ | ― |
| Standard | ¥1,500(年払いで月あたり¥1,200) | ○ | ○ |
| Professional | ¥2,800(年払いで月あたり¥2,240) | ○ | ○ |
予約件数による追加課金はありません。決済を使う場合、売上に対するSailLabの手数料は Professional プランで0%、Standard プランで3%で、いずれも Stripe の決済手数料は別途かかります(2026年8月時点。プランの詳細は料金ページを参照)。なお予約ページはリンクとQRコードで共有する形式で、自社サイトへの埋め込みには対応していません。1枠1名の予約を確実に押さえたい、個人・小規模チームに向いたツールです。
月に何件からGoogleフォーム運用が割に合わなくなるか

判断は掛け算で足ります。前述の3つの手作業――転記、確定連絡、リマインド――に1件あたり5分かかるとします。
たとえば1コマ定員1名の面談を月30件受けている場合、5分 × 30件 = 月2時間30分です。時間単価を¥3,000とすれば月¥7,500、年間で¥9万円になります。ここに、埋まった選択肢を手で消す作業と、二重予約が起きたときの謝罪と再調整が加わります。予約ツールの月額¥1,000〜1,500と比べると、月10件を超えたあたりで逆転します。
件数が月数件にとどまるなら、フォームのままで構いません。分岐点は「予約が増えるかどうか」よりも、「重複が事故になるかどうか」です。1コマ1名の予約を受けているなら、件数が少なくても1回の重複で信用を失います。
参考までに、業務のクラウド利用そのものはすでに例外ではありません。2024年時点で80.6%の企業がクラウドサービスを利用しており、用途としては「スケジュール共有」が上位に入っています(出典: 総務省「令和7年版 情報通信白書」、2025年7月公表、原資料は「通信利用動向調査」、対象は企業。個人事業主は母集団に含まれません)。ツールを増やすこと自体は、もはや特別な判断ではありません。
今のフォームを残したまま、どこから置き換えるか
いま動いているフォームを止める必要はありません。重複が起きると困る受付だけを先に移し、残りはそのまま並走させるのが、いちばん失敗しにくい順番です。
| 順番 | 移すもの | 理由 |
|---|---|---|
| 1 | 1枠1名の予約(面談・個別レッスン・施術) | 重複が即座に事故になる。件数が少なくても最初に移す |
| 2 | 受付項目(フォームの質問) | そのまま写せば回答の見え方が変わらず、案内文も書き直さずに済む |
| 3 | 定員つきの受付(説明会・体験会) | 締切間際に申込みが集中し、二重予約が最も起きやすい |
| ― | アンケート・問い合わせ | 枠の取り合いが起きないため、フォームのまま残す |
定員管理とキャンセル待ちの設計はセミナー予約システムの解説、事前決済で当日の欠席を減らす方法は事前決済つき予約システムの解説で詳しく扱っています。1枠1名の予約ページは、無料アカウントから作成できます(クレジットカード登録は不要です)。