Googleフォームで人数制限を設定する方法を徹底解説|質問ごとに定員上限を設定する手順もご紹介

googleform

Googleフォームを管理していると、Googleフォームに人数制限を設定する方法が分からない。または、質問の選択肢に人数制限を設定する方法が分からないと頭を悩ませている方も多いのではないでしょうか?

Googleフォームでは GoogleAppScript(GAS)でスクリプトを記述すれば、フォームまたは選択肢に人数制限を設定できます。

本記事では、GASを活用したGoogleフォームで人数制限を設ける方法を具体的に解説します。

formrun(フォームラン)ならノーコードでフォームの回答制限が可能! Googleフォームで回答に制限を設けるには、GASでスクリプトを記述する必要があるため、初心者では設定が難しくなっています

弊社のフォーム作成ツール「formrun」は、たったの1クリックで回答の人数制限が設定可能です。
簡単に人数制限のあるフォームを作成したいなら、ぜひformrunの活用をご検討ください。

formrunの概要が知りたい方はこちら
>>formrunサービスサイトトップ

formrunとGoogleフォームの違いを知りたい方はこちら
>>formrunとGoogleフォームの違いは?

Googleフォームで作成した予約システムに人数制限(定員)を設定する方法2選

Googleフォームで作成した予約システムに人数制限を設定するには、Googleフォームのスクリプトエディタ(GoogleAppScript)にスクリプトを記載する必要があります

スクリプトエディタを利用しない場合は、手動でGoogleフォームの受付終了を操作しなければなりません

Googleフォームで作成した予約システムに設定できる人数制限の方法は、下記の2つです。

  • 回答数が人数制限に達した時点でフォームごとクローズする
  • 人数制限に達した選択肢のみを消す

次章から、それぞれの設定方法を解説してきます。

formrunなら1クリックで人数制限の設定ができる!
「人数制限をかけたフォームを作成したいけど、スクリプトエディタを使うのは難しい…」と感じた方は、1クリックで人数制限がかけられる「formrun(フォームラン)」ご活用ください。

120種類以上のテンプレートから用途に合わせたフォームがすぐに完成します。デザインも自由にカスタマイズできるため、自社ブランドに合ったフォームも用意できます。

formrunで人数制限する方法が知りたい方はこちら
>>formrunの回答上限設定機能とは?

formrunのテンプレートを確認したい方はこちら
>>formrunのテンプレート一覧

回答数が人数制限に達した時点でフォームごとクローズする手順

まず、回答数が人数制限に達した時点でフォームごとクローズする手順をご紹介します。具体的には下記の手順に沿って設定します。

  1. フォームからスクリプトエディタを開く
  2. エディタにコードを記載する
  3. プロジェクトを保存する
  4. トリガーを設定する
  5. 回答数が人数制限に達した際の表記を設定する

手順① フォームからスクリプトエディタを開く

Googleフォームに人数制限をかけるには、GoogleAppScriptを開く必要があります。

人数制限をかけたいGoogleフォームを開き、下記の手順でGoogleAppScriptのスクリプトエディタを開きましょう。
※これからGoogleフォームを作る方は、以下の記事で具体的な作り方を紹介しています。
>>Googleフォームの使い方を徹底解説|作り方から作成例まで詳しく紹介】

  1. フォームの右上「︙」をクリック Googleフォームで人数制限する方法2
  2. 「スクリプトエディタ」をクリック
    Googleフォームで人数制限する方法3

手順② エディタにコードを記載する

エディタを開けたら、以下の手順でスクリプトをコピペしてください。

  1. すでに書き込まれているコードを削除
    Googleフォームで人数制限する方法4
  2. 以下のコードをコピペしてペースト
              function endFormCheck() {
                var LIMIT_COUNT = 1; //ここに上限値を設定
                
                var form = FormApp.getActiveForm();
                if (form.getResponses().length >= LIMIT_COUNT) {
                form.setAcceptingResponses(false);
                }
              }
              

スクリプトの上限値の設定は、「LIMIT_COUNT =」に設定したい数値を記載してください。例えば、10人が回答した時点でGoogleフォームをクローズしたい場合は、「10」と記載します。

formrunなら1クリックで人数制限の設定ができる!
「人数制限をかけたフォームを作成したいけど、スクリプトエディタを使うのは難しい…」と感じた方は、1クリックで人数制限がかけられる「formrun(フォームラン)」ご活用ください。

formrunで人数制限する方法が知りたい方はこちら
>>formrunの回答上限設定機能とは?

手順③ プロジェクトを保存する

続いて、プロジェクトを保存して実行します。具体的な手順は下記の通りです。

  1. 画面上部の「プロジェクトを保存」をクリック Googleフォームで人数制限する方法5
  2. 「プロジェクト名」を設定
    Googleフォームで人数制限する方法6
  3. 「実行」をクリック
    Googleフォームで人数制限する方法7
  4. 「権限を確認」をクリック
    Googleフォームで人数制限する方法8
  5. 実行ログにエラーがでないことを確認

手順④ トリガーを設定する

続いて、回答数が人数制限に達した際にスクリプトが自動で実行されるよう、「トリガー」を設定します。

トリガーを設定しておくと、人数制限に達した時点でフォームが自動でクローズされます。

具体的な手順は下記の通りです。

  1. 左メニューから「トリガー」を開く
    Googleフォームで人数制限する方法9
  2. 「トリガーを追加」をクリック
    Googleフォームで人数制限する方法10
  3. トリガーの実行条件を設定し保存する
    Googleフォームで人数制限する方法11

    各項目の設定方法は下記のとおりです。

    • 実行する関数を選択:endFormCheck
    • 実行するデプロイを選択:Head
    • イベントのソースを選択:フォームから
    • イベントの種類を選択:フォーム送信時
    • エラー通知設定:毎日通知を受け取る

formrunの人数制限機能はトリガーの設定不要!
「スクリプトエディタでコードを書けたけど、トリガーの設定がよくわからない…」と感じた方は、1クリックで人数制限がかけられる「formrun(フォームラン)」ご活用ください。 スクリプトの記述もトリガーの設定も不要で、誰でも簡単に人数制限をかけたフォームが作成できます。

formrunで人数制限する方法が知りたい方はこちら
>>formrunの回答上限設定機能とは?

手順⑤ 回答数が人数制限に達した際の表記を設定する

続いて、回答数が人数制限に達した際の表記を設定します。例えば、 「人数制限に達したため回答を締め切りました」のような文言です。具体的な手順は下記の通りです。

  1. Googleフォームの編集画面で「回答タブ」をクリック
    Googleフォームで人数制限する方法12
  2. 「回答を受付中」を「回答を受け付けていません」に変更
    Googleフォームで人数制限する方法13
  3. 回答者へのメッセージに文章を入力
    Googleフォームで人数制限する方法14
  4. 「回答を受け付けていません」から「回答を受付中」に変更
    Googleフォームで人数制限する方法15

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

回答数が人数制限に達した選択肢のみを消す手順

次は回答数が人数制限に達した選択肢のみを消す手順をご紹介します。具体的な手順は下記の通りです。

  1. フォームからGoogleスプレッドシートを開き編集する
  2. フォームのスクリプトエディタを開きコードを記載する
  3. 選択肢が人数制限に達した際に選択肢を締め切るようトリガーを設定する

人数制限に達した選択肢のみを消す場合は、定員に達した項目がフォームの編集画面から削除されてしまう点に注意です。

そのため、再び削除した選択肢を復活させたい場合は、再度Googleフォームの編集画面で設定する必要があります。

formrunなら選択肢の受付数制限も1クリックで設定可能!
「Googleフォームで選択肢の制限をかけるのは難しそう…」と感じた方は、1クリックで選択肢制限がかけられる「formrun(フォームラン)」ご活用ください。

120種類以上のテンプレートから用途に合わせたフォームがすぐに完成します。デザインも自由にカスタマイズできるため、自社ブランドに合ったフォームも用意できます。

formrunで選択肢の制限かける方法が知りたい方はこちら
>>formrunの回答上限設定機能とは?

formrunのテンプレートを確認したい方はこちら
>>formrunのテンプレート一覧

手順① フォームからGoogleスプレッドシートを開き編集する

選択肢の制限をかけたいフォームを開き、そのGoogleフォームと Googleスプレッドシートを連携します。

具体的な手順は下記の通りです。

  1. フォームの回答ページ右上の「スプレッドシートの作成」をクリック
  2. スプレッドシートのシート名を分かりやすいものに変更
  3. 2つ目のシートを作成し、シートの名前を分かりやすいものに変更
  4. スプレッドシート内に候補日と定員を設定

例えば下記のように、候補日と定員を設定するシートを記述します。

候補日定員(0のときは人数制限無し)
5/530
5/60
5/730
5/830
5/930

手順② フォームのスクリプトエディタを開きコードを記載する

続いて、Googleフォームのスクリプトエディタを開き、コードを記載します。具体的な手順は下記の通りです。

  1. フォームの右上「︙」をクリック Googleフォームで人数制限する方法2
  2. 「スクリプトエディタ」をクリック
    Googleフォームで人数制限する方法3
    1. すでに書き込まれているコードを削除
      Googleフォームで人数制限する方法4
    2. 以下のコードをコピペしてペースト
                    // 【基本設定】
                    // ここを編集するだけで使用できます
                    //「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 > 1) {
                    // 候補と定員を取得
                    var candidate = sheet.getRange(2, 1, sheetLastRow - 1, 2).getValues();
                    } else {
                    return;
                    }
                    // 回答のシートの2行目から下の値を配列で取得する
                    var answerSheetLastRow = answerSheet.getLastRow();
                    if (answerSheetLastRow > 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 < answerData.length; i++) {
                    if (nameAndCapacity[0] === answerData[i]) {
                    counter++;
                    }
                    }
                    // まだキャパがあれば選択肢に追加
                    if (counter < nameAndCapacity[1]) { choices.push(listItemQuestion.createChoice(nameAndCapacity[0])); } } } }); if (choices.length > 0) {
                    // フォームの回答を受け付ける
                    form.setAcceptingResponses(true);
                    // 選択肢を上書き
                    listItemQuestion.setChoices(choices);
                    } else {
                    // 満員につき、回答受付終了
                    form.setAcceptingResponses(false);
                    }
                    return;
                    }
                    });
                    }
                  

コードを編集する際は、シート名と項目名に誤りがないように記載してください。

formrunなら選択肢の受付数制限も1クリックで設定可能!
「Googleフォームで選択肢の制限をかけるのは難しそう…」と感じた方は、1クリックで選択肢制限がかけられる「formrun(フォームラン)」ご活用ください。

formrunで選択肢の制限かける方法が知りたい方はこちら
>>formrunの回答上限設定機能とは?

手順③ 選択肢が人数制限に達した際に選択肢を締め切るようトリガーを設定する

続いて、選択肢が人数制限に達した際に選択肢を締め切るようにトリガーを設定します。具体的な手順は下記の通りです。

  1. 左メニューから「トリガー」を開く
    Googleフォームで人数制限する方法9
  2. 「トリガーを追加」をクリック
    Googleフォームで人数制限する方法10
  3. トリガーの実行条件を設定し保存する
    Googleフォームで人数制限する方法11

    各項目の設定方法は下記のとおりです。

    • 実行する関数を選択:endFormCheck
    • 実行するデプロイを選択:Head
    • イベントのソースを選択:フォームから
    • イベントの種類を選択:フォーム送信時
    • エラー通知設定:毎日通知を受け取る

以上で設定完了です。あとは、 選択肢が人数制限に達した際に選択肢が締め切られるか動作確認を行います。動作に問題がなければ、人数制限を設定したいフォームに同様の手順で人数制限を設定しましょう。

人数制限付きフォームを作成するなら「formrun」がおすすめ!

formrunサービスサイト

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

実際にformrunで作成した人数制限付きフォーム

また、formrunには人数制限付きフォームが簡単に作成できるだけでなく、Googleフォームのデメリットをカバーできる以下の特徴もあります。

  • テンプレートが豊富
  • EFO(フォーム最適化)に役立つ
  • セキュリティが高い

テンプレートが120種類以上ある

formrunはgoogleフォームに比べ、テンプレートが豊富なのが特徴 です。お問い合わせ、アンケート、申込みなどのさまざまな用途のテンプレートが用意されているため幅広い業種や用途に合わせたフォームに対応できます。

formrunのテンプレートはそのまま利用できるリッチな見た目で、用途に合わせて必要な設問が最適な順番で配置されているため、
設問タイトルを少し修正するだけで簡単に高クオリティのフォームを作成できます。

テンプレートの設問に項目の追加・削除・順番の変更等もワンクリックで簡単に修正できます。

ぜひformrunのテンプレートを使用して高クオリティなフォームを作成してみてください。

EFO(フォーム最適化)に役立つ

送信する際のエラーや、項目数が表示されていない、ブラウザを間違えて閉じてしまうなど、
フォームにまつわるよくある上記のようなストレスが原因で フォームから離脱するユーザーは7割を超えると言われています。

それらの離脱を防ぐため、回答者が便利にフォームを利用できる取り組みとして、残項目数表示や、ページ分割機能、入力途中保存、リアルタイムでのエラー表示機能などがあります。
そのためユーザーは、「自分の入力内容に間違いがないか」「あと何分で完了するか」などを常に把握できるため、回答負担が大幅に減ります。

EFO機能を導入するには約30,000円の費用がかかることが一般的ですが、formrunでは、わずか3,000円〜EFO機能を導入できます。
ぜひformrunでEFO機能を導入し、フォームの通過率が上がる経験をしてみてください。

セキュリティ対策が万全

セキュリティが高いのもformrun(フォームラン)の魅力のポイントです。
「ISO 27001 (ISMS)」の認証取得やプライバシーマークの付与認定、SSL/ TLSによる暗号化通信、24時間365日のサーバー監視体制など様々な対策がとられています。

フォームは、名前や住所、メールアドレスなど重要な個人情報を取り扱います。
ユーザーに安心してフォームを利用してもらうためにも、フォームのセキュリティはとても重要です。

安全なフォーム運用や個人情報の取り扱いは、顧客からの信用に大きく影響するため、セキュリティーを重視している方にはフォームランの利用がおすすめです。

Googleフォームの回答数を確認(表示)する方法

Googleフォームの回答数を確認する方法が分からない場合、下記の手順で確認できます。

  1. Googleフォームを開く
  2. Googleフォーム上部にある「回答」をクリック
  3. 回答を確認

回答の確認方法を詳しく知りたい方はこちらの記事をご覧ください。
>> Googleフォームの回答を確認する方法とは?通知メールの設定手順も解説

Googleフォームをさらに活用する方法

Googleフォームでは 人数制限以外にもさまざまな設定ができます。用途にあわせて設定を行えば、Googleフォームをさらに活用できるでしょう。具体的には下記のような設定が可能です。

  • Googleフォームに回答があった際にメールを自動返信できる
  • GASを使用すれば人数制限とチェックボックス(ラジオボタン)による項目の複数選択が設定できる
  • GoogleフォームはQRコードで共有できる

Googleフォームに回答があった際にメールを自動返信できる

Googleフォームに回答があった際、回答したユーザーにメールを自動返信できます。デフォルトの設定では、回答があった際に自動返信メールは届かないため注意しましょう。具体的な手順は下記の通りです。

  1. Googleフォームで「設定タブ」をクリック
  2. 「回答」の設定を開く
  3. 「メールアドレスを収集する」をオン
  4. 「回答のコピーを回答者に送信」を「常に表示」へ変更

以上で設定完了です。設定が完了すれば、Googleフォームに回答があった際にメールが自動送信されます。

更に詳しくGoogleフォームの自動返信メール設定方法について知りたい方はこちらの記事をご覧ください。
>> 【画像で解説】Googleフォームの自動返信メールを設定する方法

ただし、 メッセージの内容は編集できないためアドオンよりも柔軟性が低く、自動返信先のメールアドレスの指定や、自動返信メールの文面変更などができない ので注意しましょう。

簡単に自動返信メールの設定やカスタマイズがしたいならformrunがおすすめ!
複雑な設定が必要なツールは避けたいが、自動返信メールの件名や内容にこだわりたい場合はformrunを試してみてください。
難しい設定や専門知識なしで画像を追加できたり、内容の変更などを設定できます。
FREEプランは 無料で利用し続けられるので、ぜひformrunでフォームを作成してみてください。

GASを使用すれば人数制限の設定とチェックボックス(ラジオボタン)による項目の複数選択が設定できる

GAS(Google Apps Script)を使用すれば、人数制限の設定とチェックボックスによる項目の複数選択ができます。この設定を行えば、回答者は複数の選択肢を選択可能です。また、複数の選択肢を選択した場合にも定員に達した選択肢が選択肢から削除されます。

こちらの設定は GASとスプレッドシートの関数を組み合わせて実施できます。専門的な設定となるため、設定を実施する場合は下記の記事を参照してください。
>> 【GAS】Googleフォームの選択肢に定員を設定~チェックボックスでも対応】

GoogleフォームはQRコードで共有できる

Googleフォームは「クルクルマネージャー」というツールを使えば、QRコードでユーザーに共有できます。GoogleフォームへのリンクをQRコードにすれば、ユーザーが簡単にフォームにアクセスできるようになり、回答を集めやすくなるでしょう。また紙媒体での共有も可能となります。

具体的な手順は下記の通りです。

  1. GoogleフォームのURLをコピー
  2. 「クルクルマネージャー」でQRコードを作成

以上の操作を行えば、GoogleフォームをQRコードに変更できます。

GoogleフォームでQRコードを作成する方法は下記の記事で詳細に解説しています。
>> GoogleフォームでQRコードを作成する方法を解説!おすすめの作成可能なツール3選も紹介

▼ QRコードでフォームを共有したい方は、ワンクリックで保存できる「formrun」がおすすめ。
formrunでフォームを作成すると、 フォーム作成完了とともに自動でフォームのQRコードが作成されるため、すぐに保存が可能です。
フォームのURLや、内容を変更してもQRが変わず、 Googleフォーム特有の怪獣のマークなどもない ため、ビジネスでもご利用いただけます。
Googleアカウントがある方は すぐに登録可能 ですのでぜひformrunでフォームを作成してみてください。

人数制限付きフォームの詳しい作成方法はこちらのQ&Aをご覧ください。
>> フォームの受付上限を設定する方法

Googleフォームの活用が難しい場合はformrunの導入を検討しましょう

本記事では、Googleフォームで人数制限を設定する方法を解説しました。Googleフォームでは下記の2パターンの人数制限を設定できます。

  1. 回答数が人数制限に達した時点でフォームごとクローズする
  2. 人数制限に達した選択肢のみを消す

上記の人数制限を設定するには、Googleフォームのスクリプトエディタにコードを記載する必要があります。日程調整やイベントの予約フォームとしてGoogleフォームを運用したい場合、人数制限を設定しておきましょう。

ただし、 Googleフォームには下記のデメリットがあります

  • デザインの自由度が低く、回答者がGoogleフォームを使用しているとすぐに分かってしまう
  • 回答や回答顧客の管理ができない
  • 自動返信メールやファイルアップロード項目などの機能に制限がある

フォームを本格的に運用したい場合には、機能が不十分に感じられることもあるでしょう。

  • デザイン性の高いフォームにし、回答者が入力しやすいフォームにしたい
  • サイトやサービスの世界観にあったフォームにしたい
  • 自動返信メール・ファイルアップロード項目など、より充実した機能を使いたい

上記のように感じている管理者の方は フォーム作成ツール「formrun」を検討してみるのもおすすめです。無料での利用もできますので、ぜひ一度、試してみてはいかがでしょうか。
Sansan、BASE、hey、DMMなど幅広い規模の企業に導入されており、自社に最適なフォームを作ることが可能です。

▼ビジネス利用において、formrunユーザーの7割がGoogleフォームから変更しています。formrunとGoogleフォームの違いを下記の記事で詳細をご覧ください。
>> formrunの詳細を確認する

人数制限付きフォームの詳しい作成方法はこちらのQ&Aをご覧ください。
>> フォームの受付上限を設定する方法