【Google Forms】入力制限(バリデーション)をかけて、綺麗なデータを集めよう
色々、GASの記事を書いているのですが、元データが汚ければ、GASを使っても効率はあまり変わりません。書くのがめちゃ大変。綺麗なデータを作るために後工程で頑張るよりも、入力時のバリデーションをかける方が何倍も効率が良かったりします。
今回はGoogle Formsで新従業員登録を作った経験から、正規表現を使ったバリデーションを解説したいと思います。
サンプルはこちら
https://docs.google.com/forms/d/1mkU_eUZbKtkIVbjQWLn7utWfUW6Cqo3Wu6nYUwfpdP4/edit?usp=sharing
●●● ボタンを押して、回答の検証を選び、正規表現、一致するをクリックする。
姓・名(スペースの有無の検知)
^[^ ]*$
コピペなどで氏名を持ってくると、スペースが含まれていることが多いので、スペースがあるとエラーができるようにします。
郵便番号
[0-9]{3}-[0-9]{4}
半角カナ(銀行口座などの登録に)
^[ァ-ン゙゚\ ]+$
金融機関コード
[0-9]{3}
携帯電話番号
[0-9]{3}-[0-9]{4}-[0-9]{4}
IDなども[0-9]{桁数}で、バリデーションをかけることが出来ます。創業初期と最近で桁数が違う場合には、[0-9]{3,4}のようにカンマを入れたら問題なかったと思います。
アルファベット 1桁もしくは、2桁
[A-Z]{1,2}
Google FormsでもGASが使えます。
GASって何?って人も多いと思います。Google Apps Scriptを略して、GASって読んでいます。JavaScriptの一種なのですが、定型作業を自動化する事が出来ます。ExcelのVBAの親戚と考えれば、分かりやすいかもしれません。
下記の記事では、個数を尋ねる場合など、1 - 100までの数字を質問項目に加えたいといったニーズが実務であり、実装しました。良かったら、見てみてください。
特定の時間のみ受け付けるGoogle Formsを運用する際に役立つスクリプト
2021/01/30 追記
特定時刻になったら、Formsの受付を終了したり、受付を開始したりするスクリプトを書きました。記事では、1日の9:00に受付を開始して、27日の18:00で受付を終了するケースを想定して書きました。
正規表現はSpreadsheetでも使えます。
Google Formsは、実務でもバリバリ使っています。
サンプルはこちら。
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?