「Googleフォームで予約を受け付けたら、すぐに定員オーバーになってしまった…」
「一部の日程だけ埋まってしまったのに、フォームはまだ開いたまま…」
このように頭を悩ませている方も多いのではないでしょうか?
Googleフォームでは Google App Script(GAS)を用いれば、フォームまたは選択肢に人数制限を設定できます。
本記事では、GASを活用したGoogleフォームで人数制限を設ける方法を具体的に解説します。
▼ フォームランならワンクリックで回答を制限できる!
弊社のフォーム作成ツール「formrun(フォームラン)」は、回答制限の設定でスクリプトの記述は不要で、ワンクリックで回答制限を設定できます。
回答制限だけでなく、回答受付期間やボットによるスパム対策も対応しています。
フォーム作成は永久に無料で、Googleアカウントがあればワンクリックで今すぐ始められます。
ビジネス利用では、利用者の7割がGoogleフォームから乗り換えています。
フォームランの回答制限機能の詳細が知りたい方は、こちらのページをご覧ください。
>> 回答制限機能で過剰な受付を防止!
フォームランとGoogleフォームの違いを知りたい方はこちら
>> フォームランとGoogleフォームの違いは「便利で豊富な機能」があること
Googleフォームで作成した予約システムに人数制限(定員)を設定する方法2選

Googleフォームで作成した予約システムに人数制限を設定するには、Googleフォームのスクリプトエディタ(Google App Script)にスクリプトを記載する必要があります。
スクリプトエディタを利用しない場合は、手動でGoogleフォームの受付終了を操作しなければなりません。
Googleフォームで作成した予約システムに設定できる人数制限の方法は、下記の2つです。
- 回答数が人数制限に達した時点でフォームごとクローズする
- 人数制限に達した選択肢のみを消す
次章から、それぞれの設定方法を解説してきます。
回答数が人数制限に達した時点でフォームごとクローズする手順
まず、回答数が人数制限に達した時点でフォームごとクローズする手順をご紹介します。具体的には下記の手順に沿って設定します。
- フォームからスクリプトエディタを開く
- エディタにコードを記載する
- プロジェクトを保存する
- トリガーを設定する
- 回答数が人数制限に達した際の表記を設定する
手順① フォームからスクリプトエディタを開く
Googleフォームに人数制限をかけるには、Google App Scriptを開く必要があります。
人数制限をかけたいGoogleフォームを開き、下記の手順でGoogle App Scriptのスクリプトエディタを開きましょう。
※これからGoogleフォームを作る方は、以下の記事で具体的な作り方を紹介しています。
>>Googleフォームの使い方を徹底解説|作り方から作成例まで詳しく紹介】
- フォームの右上「︙」をクリック

- 「スクリプトエディタ」をクリック

手順② エディタにコードを記載する
エディタを開けたら、以下の手順でスクリプトをコピペしてください。
- すでに書き込まれているコードを削除

- 以下のコードをコピペしてペースト
function endFormCheck() {
var LIMIT_COUNT = 1; //ここに上限値を設定
var form = FormApp.getActiveForm();
if (form.getResponses().length >= LIMIT_COUNT) {
form.setAcceptingResponses(false);
}
}
スクリプトの上限値の設定は、「LIMIT_COUNT =」に設定したい数値を記載してください。例えば、10人が回答した時点でGoogleフォームをクローズしたい場合は、「10」と記載します。
▼ フォームランなら回答制限の設定でスクリプトを記述は不要!
「Googleフォームで回答制限を設定したいけど、スクリプトを書くのは難しい」と感じた方は、弊社の「formrun(フォームラン)」をご活用ください。
たったの1クリックでフォームの回答制限が設定でき、回答期間やボットによるスパム対策にも対応しています。
フォーム作成は永久に無料で、Googleアカウントがあればワンクリックで今すぐ始められます。
フォームランの回答制限機能の詳細は、こちらのページにまとめています。
>> formrunの回答上限設定機能とは?
手順③ プロジェクトを保存する
続いて、プロジェクトを保存して実行します。具体的な手順は下記の通りです。
- 画面上部の「プロジェクトを保存」をクリック

- 「プロジェクト名」を設定

- 「実行」をクリック

- 「権限を確認」をクリック

- 実行ログにエラーがでないことを確認
手順④ トリガーを設定する
続いて、回答数が人数制限に達した際にスクリプトが自動で実行されるよう、「トリガー」を設定します。
トリガーを設定しておくと、人数制限に達した時点でフォームが自動でクローズされます。
具体的な手順は下記の通りです。
- 左メニューから「トリガー」を開く

- 「トリガーを追加」をクリック

- トリガーの実行条件を設定し保存する

各項目の設定方法は下記のとおりです。
- 実行する関数を選択:endFormCheck
- 実行するデプロイを選択:Head
- イベントのソースを選択:フォームから
- イベントの種類を選択:フォーム送信時
- エラー通知設定:毎日通知を受け取る
▼ フォームランの人数制限機能はトリガーの設定不要!
弊社の「formrun(フォームラン)」なら、スクリプトの記述もトリガーの設定も不要で、たったのワンクリックで回答制限の設定が完了します。
難しい設定を行わずに、効率よくビジネスで役立つフォームを作成したい方は、無料で使えるフォームランをご活用ください。
手順⑤ 回答数が人数制限に達した際の表記を設定する
続いて、回答数が人数制限に達した際の表記を設定します。例えば、 「人数制限に達したため回答を締め切りました」のような文言です。具体的な手順は下記の通りです。
- Googleフォームの編集画面で「回答タブ」をクリック

- 「回答を受付中」を「回答を受け付けていません」に変更

- 回答者へのメッセージに文章を入力

- 「回答を受け付けていません」から「回答を受付中」に変更

以上ですべての設定が完了です。あとは、回答数が人数制限に達した時点でフォームごとクローズするか動作確認を行いましょう。適切に設定できていれば、実際に人数制限を設定したフォームに同様の設定を行います。
特定の選択肢だけ人数制限を設定する方法

次は回答数が人数制限に達した選択肢のみを消す手順をご紹介します。具体的な手順は下記の通りです。
この方法でイベントの日程や複数のプランを提示する場合など、一部の選択肢だけ定員を設けたいときに有効です。
- フォームからGoogleスプレッドシートを開き編集する
- フォームのスクリプトエディタを開きコードを記載する
- 選択肢が人数制限に達した際に選択肢を締め切るようトリガーを設定する
ただし、人数制限に達した選択肢のみを消す場合は、定員に達した項目がフォームの編集画面から削除されてしまう点に注意です。
そのため、再び削除した選択肢を復活させたい場合は、再度Googleフォームの編集画面で設定する必要があります。
手順① フォームからGoogleスプレッドシートを開き編集する
選択肢の制限をかけたいフォームを開き、そのGoogleフォームと Googleスプレッドシートを連携します。
具体的な手順は下記の通りです。
- フォームの回答ページ右上の「スプレッドシートの作成」をクリック
- スプレッドシートのシート名を分かりやすいものに変更
- 2つ目のシートを作成し、シートの名前を分かりやすいものに変更
- スプレッドシート内に候補日と定員を設定
例えば下記のように、候補日と定員を設定するシートを記述します。
| 候補日 | 定員(0のときは人数制限無し) |
| 5/5 | 30 |
| 5/6 | 0 |
| 5/7 | 30 |
| 5/8 | 30 |
| 5/9 | 30 |
手順② フォームのスクリプトエディタを開きコードを記載する
続いて、Googleフォームのスクリプトエディタを開き、コードを記載します。具体的な手順は下記の通りです。
- フォームの右上「︙」をクリック

- 「スクリプトエディタ」をクリック

- すでに書き込まれているコードを削除

- 以下のコードをコピペしてペースト
- すでに書き込まれているコードを削除
// 【基本設定】
// ここを編集するだけで使用できます
//「https://docs.google.com/spreadsheets/d/xxx/edit」のxxxを入れてください
var spreadSheetID = 'xxx';
// 候補日と定員を書くシート名
var sheetName = '候補';
// 回答のシート名
var answerSheetName = 'フォームの回答';
// 定員のある項目の名前
var questionName = '参加したい日程をどうぞ!(各日程定員50名です)';
// 【フォームを更新する関数】
function updateForm() {
// 【スプレッドシートの情報を取得】
// 候補と定員を取得し、定員に満たない候補のみを取得します
// スプレッドシートをIDで取得
var sheets = SpreadsheetApp.openById(spreadSheetID);
// 候補と回答のシートを取得
var sheet = sheets.getSheetByName(sheetName);
var answerSheet = sheets.getSheetByName(answerSheetName);
// 候補のシートのA行の2行目から下の値を配列で取得する
var sheetLastRow = sheet.getLastRow();
if (sheetLastRow & gt; 1) {
// 候補と定員を取得
var candidate = sheet.getRange(2, 1, sheetLastRow - 1, 2).getValues();
} else {
return;
}
// 回答のシートの2行目から下の値を配列で取得する
var answerSheetLastRow = answerSheet.getLastRow();
if (answerSheetLastRow & gt; 1) {
var questionNames = answerSheet.getRange(1, 1, 1, answerSheet.getLastColumn())
.getValues();
var colCount = questionNames[0].indexOf(questionName);
if (colCount === -1) {
Logger.log("定員のある項目が見つかりません。questionName の値を確認してください");
}
// 必要な部分だけ取得 (2次元配列で返ってくるので、flat()で1次元配列に変換しておく)
var answerData = answerSheet.getRange(2, colCount + 1, answerSheetLastRow -
1).getValues().flat();
}
// 【Googleフォームの選択肢の上書き】
// フォームの取得
var form = FormApp.getActiveForm();
// 質問項目をすべて取得
var items = form.getItems();
// 選択肢の作成、更新
items.forEach(function(item) {
// 質問項目がquestionNameの項目を探す
if (item.getTitle() === questionName) {
var listItemQuestion = item.asListItem();
// 選択肢を入れる配列
var choices = [];
// 候補日を一つ一つ見ていく
// nameAndCapacity[0]が候補日、nameAndCapacity[1]がその定員
candidate.forEach(function(nameAndCapacity) {
if (nameAndCapacity[0] != "") {
// 定員無制限かどうか。また、回答が一件もない場合もこっち
if (!answerData || nameAndCapacity[1] === 0 || nameAndCapacity[1] ===
"") {
choices.push(listItemQuestion.createChoice(nameAndCapacity[0]));
} else {
// 定員がある場合は定員以上になっていないか確認
var counter = 0;
// 何人分キャパが埋まっているかカウント
for (var i = 0; i & lt; answerData.length; i++) {
if (nameAndCapacity[0] === answerData[i]) {
counter++;
}
}
// まだキャパがあれば選択肢に追加
if (counter & lt; nameAndCapacity[1]) {
choices.push(listItemQuestion.createChoice(nameAndCapacity[0]));
}
}
}
});
if (choices.length & gt; 0) {
// フォームの回答を受け付ける
form.setAcceptingResponses(true);
// 選択肢を上書き
listItemQuestion.setChoices(choices);
} else {
// 満員につき、回答受付終了
form.setAcceptingResponses(false);
}
return;
}
});
}
コードを編集する際は、シート名と項目名に誤りがないように記載してください。
▼ フォームランなら回答制限の設定でスクリプトを記述は不要!
「Googleフォームで回答制限を設定したいけど、スクリプトを書くのは難しい」と感じた方は、弊社の「formrun(フォームラン)」をご活用ください。
たったの1クリックでフォームの回答制限が設定でき、回答期間やボットによるスパム対策にも対応しています。
フォーム作成は永久に無料で、Googleアカウントがあればワンクリックで今すぐ始められます。
フォームランの回答制限機能の詳細は、こちらのページにまとめています。
>> formrunの回答上限設定機能とは?
手順③ 選択肢が人数制限に達した際に選択肢を締め切るようトリガーを設定する
続いて、選択肢が人数制限に達した際に選択肢を締め切るようにトリガーを設定します。具体的な手順は下記の通りです。
- 左メニューから「トリガー」を開く

- 「トリガーを追加」をクリック

- トリガーの実行条件を設定し保存する

各項目の設定方法は下記のとおりです。
- 実行する関数を選択:endFormCheck
- 実行するデプロイを選択:Head
- イベントのソースを選択:フォームから
- イベントの種類を選択:フォーム送信時
- エラー通知設定:毎日通知を受け取る
以上で選択肢の回答制限の設定完了です。あとは、 選択肢が人数制限に達した際に選択肢が締め切られるか動作確認を行います。
動作に問題がなければ、人数制限を設定したいフォームに同様の手順で人数制限を設定しましょう。
人数制限付きフォームを作成するなら「formrun」がおすすめ!

弊社のフォーム作成ツール「formrun(フォームラン)」は、たったの1クリックで回答制限付きのフォームが簡単に作成可能です。

実際にformrunで作成した人数制限付きフォーム
また、formrunには人数制限付きフォームが簡単に作成できるだけでなく、Googleフォームのデメリットをカバーできる以下の特徴もあります。
今回は、以下の機能を詳しく紹介します。
自社デザインに合わせたフォームが簡単に作成できる!
Googleフォームは手軽にフォームを作成できる反面、デザインの自由度が限られています。配色やレイアウトの選択肢が限られており、イメージ通りのデザインに調整できません。
回答画面に「Googleフォーム」という記載もあるため、ユーザーにGoogleフォームを使っていることをすぐ気づかれてしまいます。
そのため、ビジネス用途でGoogleフォームを使用していると、ユーザーに自社やブランドの信頼性に疑問を抱かれ、回答率に影響が出てしまいます。
フォームランなら、ブランドカラーはもちろん、背景画像やレイアウトを直感的な操作で調整でき、デザイン性の高いフォームが誰でも簡単に作成可能です。
①まずはテンプレートを選択して
フォームのベースは出来上がり

②クリックだけで項目や内容を修正
色やフォントなどデザイン調整も可能

ロゴ画像の設置も対応しており、ビジネス用途として信頼感を損なわないフォーム運用が実現します。
自社のブランドイメージを守りつつ、フォームの回答数を伸ばしたい方は、ぜひformrunでフォームを作成してみてください。
フォームランのフォーム作成機能を詳しく知りたい方は、こちらのページをご覧ください。
>>専門知識は必要なし!ビジネスで使える高機能フォームが作成できる
豊富なテンプレートから高機能なフォームがすぐに作れる!
Googleフォームにはテンプレートが用意されていますが、17種類しか用意されておらず、作りたいフォームの内容に合わせてテンプレートが使えない場合があります。
フォームラン」なら、120種類以上の豊富なテンプレートを用意しています。
フォームの内容はもちろん、業界別分けて用意しているので、必要な入力項目が揃ったフォームをすぐに準備できます。

あとは、追加の質問を設置して配色・ロゴ・背景画像を変更するだけで、フォームがあっという間に完成します。
テンプレートを活用して効率よくフォームを作成したい方は、フォームランでテンプレートを活用するのがおすすめです。
テンプレートを確認したい方は、こちらのページをご覧ください。
>>フォームランのテンプレート一覧
見た目も内容もこだわれる自動返信メールが簡単に作成できる!
Googleフォームでも自動返信メールは設定できますが、送信できるのは回答のコピーのみ。件名や文面のカスタマイズには制限があり、ビジネルでフォームの用途に合わせた自動返信メールを送るには、Googleフォームではやや物足りなさを感じる方も多いでしょう。
フォームランなら、件名・本文・差出人名・返信先・CC/BCCまで柔軟にカスタマイズできる、自動返信メール機能を標準搭載しています。
名前や問い合わせ内容を反映させつつ、メール文章を自由に編集できるため、ビジネスにおけるフォーム送信後の丁寧な顧客対応が実現します。

さらに、メールの開封や送信失敗も確認できるため、自動返信メール送信後の対応方法も個別に行うことが可能です。
「サンクスメールをもっと丁寧に送りたい」「送信後の対応を印象良く終えたい」と感じている方は、formrunの自動メール返信で、次につながる顧客対応”を始めてみてください。
フォームランの自動返信機能を詳しく知りたい方は、こちらのページをご覧ください。
>>豊富なテンプレートで自動返信メールがノーコードで作れる!
Googleフォームをさらに活用する方法

Googleフォームでは 人数制限以外にもさまざまな設定ができます。用途にあわせて設定を行えば、Googleフォームをさらに活用できるでしょう。具体的には下記のような設定が可能です。
- Googleフォームに回答があった際にメールを自動返信できる
- GASを使用すれば人数制限とチェックボックス(ラジオボタン)による項目の複数選択が設定できる
- GoogleフォームはQRコードで共有できる
Googleフォームに回答があった際にメールを自動返信できる
Googleフォームに回答があった際、回答したユーザーにメールを自動返信できます。デフォルトの設定では、回答があった際に自動返信メールは届かないため注意しましょう。具体的な手順は下記の通りです。
- Googleフォームで「設定タブ」をクリック
- 「回答」の設定を開く
- 「メールアドレスを収集する」をオン
- 「回答のコピーを回答者に送信」を「常に表示」へ変更
以上で設定完了です。設定が完了すれば、Googleフォームに回答があった際にメールが自動送信されます。
更に詳しくGoogleフォームの自動返信メール設定方法について知りたい方はこちらの記事をご覧ください。
>> 【画像で解説】Googleフォームの自動返信メールを設定する方法
ただし、 メッセージの内容は編集できないためアドオンよりも柔軟性が低く、自動返信先のメールアドレスの指定や、自動返信メールの文面変更などができない ので注意しましょう。
▼ 簡単に自動返信メールの設定やカスタマイズがしたいならformrunがおすすめ!
複雑な設定が必要なツールは避けたいが、自動返信メールの件名や内容にこだわりたい場合はformrunを試してみてください。
難しい設定や専門知識なしで画像を追加できたり、内容の変更などを設定できます。
FREEプランは 無料で利用し続けられるので、ぜひformrunでフォームを作成してみてください。
GASを使用すれば人数制限の設定とチェックボックス(ラジオボタン)による項目の複数選択が設定できる
GAS(Google Apps Script)を使用すれば、人数制限の設定とチェックボックスによる項目の複数選択ができます。この設定を行えば、回答者は複数の選択肢を選択可能です。また、複数の選択肢を選択した場合にも定員に達した選択肢が選択肢から削除されます。
こちらの設定は GASとスプレッドシートの関数を組み合わせて実施できます。専門的な設定となるため、設定を実施する場合は下記の記事を参照してください。
>> 【GAS】Googleフォームの選択肢に定員を設定~チェックボックスでも対応】
GoogleフォームはQRコードで共有できる
Googleフォームは「クルクルマネージャー」というツールを使えば、QRコードでユーザーに共有できます。GoogleフォームへのリンクをQRコードにすれば、ユーザーが簡単にフォームにアクセスできるようになり、回答を集めやすくなるでしょう。また紙媒体での共有も可能となります。
具体的な手順は下記の通りです。
- GoogleフォームのURLをコピー
- 「クルクルマネージャー」でQRコードを作成
以上の操作を行えば、GoogleフォームをQRコードに変更できます。
GoogleフォームでQRコードを作成する方法は下記の記事で詳細に解説しています。
>> GoogleフォームでQRコードを作成する方法を解説!おすすめの作成可能なツール3選も紹介
▼ QRコードでフォームを共有したい方は、ワンクリックで保存できる「formrun」がおすすめ。
formrunでフォームを作成すると、 フォーム作成完了とともに自動でフォームのQRコードが作成されるため、すぐに保存が可能です。
フォームのURLや、内容を変更してもQRが変わず、 Googleフォーム特有の怪獣のマークなどもない ため、ビジネスでもご利用いただけます。
Googleアカウントがある方は すぐに登録可能 ですのでぜひformrunでフォームを作成してみてください。
人数制限付きフォームの詳しい作成方法はこちらのQ&Aをご覧ください。
>> フォームの受付上限を設定する方法
Googleフォームの活用が難しい場合はformrunの導入を検討しましょう

本記事では、Googleフォームで人数制限を設定する方法を解説しました。Googleフォームでは下記の2パターンの人数制限を設定できます。
- 回答数が人数制限に達した時点でフォームごとクローズする
- 人数制限に達した選択肢のみを消す
上記の人数制限を設定するには、Google App Script(GAS)でスクリプトを記載する必要があります。
ただし、 GASによる回答制限の設定には、下記のデメリットがあります。
- 人数を変更するには再度GASを開く必要がある
- 削除された選択肢を戻すにはGoogleフォームで再度追加する必要がある
Googleフォームで回答制限のあるフォームを本格的に運用したい場合には、運用方法で少々面倒に感じる部分があるでしょう。
もっと簡単に回答制限を設定したい方は、弊社のformrun(フォームラン)がおすすめです。
たったの1クリックでフォームの回答制限をかけられるだけでなく、回答期間の設定やボットによるスパム対策にも対応しています。
ノーコードでデザイン性の高いフォームが作成でき、用途に合わせた最適なフォーム運用が実現します。
ビジネスで申し込みフォームを効率よく運用したい方は、ぜひフォームランをお試しください。
フォーム作成は永久に無料で、Googleアカウントがあればワンクリックで今すぐ始めれます。

formrunやフォーム作成や顧客管理に関する情報を発信しております。
EFO(エントリーフォーム最適化)や問い合わせ対応など、
フォームに関するお悩みを解決します。

























