PR

【GAS】Googleフォームの選択肢に定員を設定~残席数を選択肢に表示する

Google Workspace

定員(人数制限)に達した選択肢の項目を消す定員までの残席数を選択肢の項目に表示するフォームをです。
前の記事で作成したGAS(updateItems)とスプレッドシートの関数を組み合わせて実現しました。

次の記事からの続きです。GASで組んだ関数updateItemsを今回も使います。

updateItems
スポンサーリンク

応用例その3

〇〇セミナー申込フォーム

このフォームの申込みには定員があります定員に達した選択肢の項目は、表示が消えて選べなくなります

また、選択肢の項目に残りの席数を表示します

質問、選択肢、説明

GASの登録

次の記事に従ってGAS(updateItems)をこのフォームに登録してください

スプレッドシートの関数

次に、リンクしたスプレッドシートに2枚目のシートを用意しました。
このシートの内容がGAS(updateItems)で使用されます

フォームの質問
フォームの選択肢
フォームの説明このB列をフォームの説明に表示します。
参照セルこのC列の値がゼロ"0"以下になると、フォームの選択肢から消えます。(このシートのA列は消えません。)
選択肢として表示されるA列のベースとなります。COUNTIF関数の検索条件に使います

このシートを数式を表示([Ctrl]+@)してみます。

テーブル(コピペ用)で表示します。

希望時間希望の時間を選んでください残席数申込者数定員数希望時間(参照用)
=F2&" (残り"&C2&"席)"=IF(C2>0,"","第1回は満席")=E2-D2=COUNTIF('フォームの回答'!B:B,F2&"*")2010:00~11:00 第1回
=F3&" (残り"&C3&"席)"=IF(C3>0,"","第2回は満席")=E3-D3=COUNTIF('フォームの回答'!B:B,F3&"*")2013:00~14:00 第2回
=F4&" (残り"&C4&"席)"=IF(C4>0,"","第3回は満席")=E4-D4=COUNTIF('フォームの回答'!B:B,F4&"*")2015:00~16:00 第3回
シート1

表計算に詳しい人は、問題ない簡単な関数です。

今回のポイントは、通常ではCOUNTIFの検索条件にA列を使うのですが、A列は関数を使うので(循環依存を避けるため)参照用のF列を作る必要がありました

また、次の回答シートを見るとわかりますが、希望時間の回答には残席数も記録されるので、全てユニークな値となります。

これはカウント条件にF列の値にワイルドカード(*)を付けることで解決します

実行(回答)

実行(プレビュー)します。

結果

回答(×54)を繰り返しました。2枚目のシート(ここでは、シート1)です。

次のようになりました。

残数がゼロになった選択肢の項目が消えました。ここまで、残席数も表示されています

全ての選択肢の項目が定員に達すると、自動で回答の受付けが終了します

おわりに

いかがでしょうか。

今回はスプレッドシートの関数が苦手な人には、分かり辛かったと思います。
逆に関数に詳しい人は、これを基本に改良が簡単にできるのではないでしょうか。

それではまた、

コメント

タイトルとURLをコピーしました