Googleフォームでアンケートや出欠確認を作っていると、
「同じ人が何回も回答できないようにしたい」
という場面があります。
私自身もGoogleフォームを使っていて、1人1回だけ回答できるようにしたいと思ったことがありました。
Googleフォームには標準で「回答を1回に制限」という機能があります。
ところが、この設定には一つ大きな注意点があります。
回答者にGoogleアカウントへのログインを求めることになる
という点です。
2026年現在のGoogle公式ヘルプでも、この仕様は変わっていません。
そこでこの記事では、
「Googleフォームで重複回答を防ぐにはどうすればいいのか?」
「Googleへのログインなしで1人1回にできるのか?」
「メールアドレスを収集すれば代用できるのか?」
について、現在の仕様を整理します。
結論|確実性を優先するなら「回答を1回に制限」
最初に結論です。
Googleフォームの標準機能だけで、同じGoogleアカウントから複数回答されることを防ぎたいなら、
「回答を1回に制限」
をONにするのが最も簡単です。
設定方法は、
Googleフォーム → 設定 → 回答 →「回答を1回に制限」をON
です。
これで、そのGoogleアカウントから回答できる回数を1回に制限できます。
ただし、この機能を利用すると回答者はGoogleアカウントへのログインが必要になります。
これは2026年現在もGoogle公式ヘルプに明記されています。
Google Forms公式ヘルプ「フォームを公開して回答者と共有する」
「回答を1回に制限」するとメールアドレスも記録される?
ここは勘違いしやすいところです。
Googleアカウントへのログインが必要=メールアドレスが回答結果に自動保存される
という意味ではありません。
Google公式ヘルプでも、「回答を1回に制限」では回答者のログインが必要になる一方、ユーザー名は「メールアドレスを収集する」を設定しない限り記録されないと説明されています。
つまり、
ログインさせることと
メールアドレスを回答として収集すること
は別です。
「1人1回にしたいけれど、メールアドレスまでは収集したくない」という場合にも、この違いは覚えておいた方がいいでしょう。
Googleにログインさせたくない場合は?
ここが一番悩むところだと思います。
例えば、
- イベントの参加申込
- お客様アンケート
- 不特定多数への調査
- サークルや団体の出欠確認
などでは、
「Googleアカウントを持っていない人もいる」
「わざわざログインしてもらうと回答率が下がりそう」
というケースがあります。
では、
ログイン不要のまま、Googleフォーム標準機能だけで確実に1人1回答にできるのか?
というと、難しくなります。
「回答を1回に制限」というGoogle標準の仕組み自体が、Googleアカウントへのログインを利用して回答回数を制限しているからです。
そのため、ログインを要求したくない場合は、目的に応じて別の方法を考える必要があります。
方法① メールアドレスを入力してもらう
ログインを必須にしたくない場合に考えられる方法の一つが、
フォーム内でメールアドレスを回答してもらう
方法です。
回答データをスプレッドシートへ保存すれば、
「同じメールアドレスから複数回答されていないか」
を後から確認できます。
ただし、この方法には弱点があります。
回答者が自分でメールアドレスを入力する方式では、別のメールアドレスを入力されたり、入力ミスが起きたりする可能性があります。
つまり、
重複を見つけるための材料にはなるものの、「同一人物の2回目の回答を確実に防止する仕組み」とは別物
です。
用途によってはこれで十分ですが、投票など厳密に1人1票を保証したい用途には向きません。
方法② 氏名・社員番号・会員番号などで重複を確認する
回答者が限定されている場合は、
社員番号・会員番号・学籍番号など、一人ひとり異なるIDを入力してもらう
方法もあります。
例えば社内アンケートなら、
社員番号:123456
のような項目を設けて、回答後にスプレッドシート上で重複をチェックします。
メールアドレスと同様、Googleへのログインを必須にせず重複を発見しやすくできます。
ただし、これも標準機能で「2回目の送信ボタンを押せなくする」わけではありません。
回答後に重複を検出する方法
と考えた方が正確です。
また、個人を識別できる情報を収集する場合は、その情報が本当に必要なのか、利用目的や管理方法も考えておきましょう。
方法③ Apps Scriptで重複回答を処理する
もう少し高度な方法として、
Google Apps Script(GAS)
を使う方法があります。
Google Apps Scriptには、Googleフォームが送信されたときに処理を実行するフォーム送信トリガーがあります。Google公式ドキュメントでも、フォーム送信イベントから回答内容を取得して処理できることが確認できます。
例えば、
「メールアドレスが過去の回答に存在するか確認する」
「社員番号が重複していたら管理者へ通知する」
「重複回答として別途記録する」
といった仕組みを作ることができます。
ただし、ここには重要な注意点があります。
通常のフォーム送信トリガーは「回答が送信されたとき」に動く仕組みです。
そのため、
Googleフォーム標準画面で送信する前に、GASがその人を判定して2回目の送信そのものを完全に止める
という話とは分けて考える必要があります。
GASを使えば何でも簡単に解決する、というわけではありません。
結局どの方法がおすすめ?
用途によって変わります。
| やりたいこと | おすすめ |
|---|---|
| GoogleログインOKで1人1回にしたい | 「回答を1回に制限」 |
| ログイン不要で簡易的に重複確認したい | メールアドレスなどを入力 |
| 社内・会員向けで個別IDがある | 社員番号・会員番号など |
| 回答後に自動で重複判定したい | Apps Script |
| 厳密な本人確認・1人1票が必要 | Googleフォーム以外も検討 |
個人的には、
「本当に重複回答を防止する必要があるのか?」
を最初に考えるのがおすすめです。
単純なアンケートなら、わざわざ回答者全員にGoogleログインを求めるより、多少の重複リスクを許容した方が回答しやすい場合もあります。
逆に、結果によって何かが決まる投票などでは、重複回答を許容できません。
重複防止の厳密さと、回答のしやすさはトレードオフ
と考えると設定を決めやすくなります。
私がGoogleフォームを使って感じたこと
私が最初にこの問題を調べたとき、
「1人1回にするくらい簡単にできるだろう」
と思っていました。
実際、「回答を1回に制限」という設定自体は非常に簡単です。
ところが、実際に使おうとすると、
Googleへのログインが必要になる
という条件が問題になります。
社内だけで使うなら、それほど問題にならないかもしれません。
しかし、不特定多数に回答してもらうフォームでは、
「Googleアカウントを持っているか」
「ログインしてまで回答してくれるか」
まで考える必要があります。
結局、大切なのは機能をONにすることではなく、
誰に回答してもらうフォームなのかを考えて重複対策を選ぶこと
だと思います。
まとめ|Googleフォームの重複防止は目的に合わせて選ぼう
2026年現在も、Googleフォームには**「回答を1回に制限」**という標準機能があります。
同一Googleアカウントからの複数回答を防ぎたい場合には、これが最も簡単です。
ただし、利用するにはGoogleアカウントへのログインが必要です。
ログインを求めたくない場合は、
メールアドレスや個別IDを使って回答後に重複を確認したり、必要に応じてApps Scriptで処理を自動化したりする方法があります。
重要なのは、
「重複を完全に防ぐ」のか、「重複を後から検出できればいい」のか
を最初に決めることです。
この違いを整理しておけば、自分のフォームに合った方法を選びやすくなります。
参考情報
記事末尾にはこの2つで十分です。
