いきなり答える備忘録

Google Workspace・Microsoft 365・LibreOfficeなどに関するメモ

(Googleフォーム)第1希望、第2希望…を入力させる方法

 Googleフォームで、複数の選択肢に対し第1希望、第2希望…というように優先順位をつけてもらう方法です。
 基本的には「選択式(グリッド)」の質問形式で実現できますが、同じ選択肢を複数回選ばせないための設定がカギとなります。

手順

 まず質問の形式として「選択式(グリッド)」を選択します。
 そして左側の「行」の欄に「第1希望」、「第2希望」などと必要な数だけ入力します。
 さらに右側の「列」の欄に選択肢となる項目を入力していきます。

 


 続いて右下にある「各行で1つの回答を必須にする」のトグルスイッチをクリックしてONにします。
 この設定の有無については選択の余地がありますが、第3希望だけ選択されるといったことを防ぐためにもONにしておいた方が無難です。

 


 最後に同じく右下にある、その他のオプションのアイコンをクリックして「1列につき1つの回答に制限」を選択します。
 一見意味が分かりにくいですが、列に設定した各選択肢(メニュー)について、同じものを2回以上選択することを防ぐことができます。

 


 回答中の様子です。
 上記の設定により、第3希望までの入力が必要になるほか、同じ選択肢(メニュー)2回以上選んだ場合にエラーとなり回答を完了できません。

 ただしエラーメッセージの意味がちょっとわかりにくいので、説明文(「希望するメニューを第1希望から~」の部分)に、同じものを複数回選べないことを記した方がいいかもしれません。この説明文は右下にあるアイコンをクリックして「説明」を選択すれば入力できます。



 改めて3つとも異なる選択肢を選べばOKとなります。

 


 回答をスプレッドシートに反映させた様子です。
 第1~第3希望までの回答が横並びに表示されます。

 


 ちょっとした補足です。
 行と列を入れ替えて、行の方を選択肢(メニュー)とし、列の方を「第1希望」「第2希望」……にするという設定も考えられます。
 選択肢が多い場合でも画面に収まりやすいことがメリットです(上記のやり方の場合は左右の幅が足りなくなり入りきらなくなりますがスクロールバーで表示させられます)。
 しかし、そのような構成には次のような欠点があります。

  • 選択肢(メニュー)が多くなるとスプレッドシートに反映させたときに無駄に列数が増え、集計が難しくなる。
  • 「第3希望まですべて回答させる」という制約と「同じ選択肢を2回以上選ばせない」という制約を両立できなくなる。

 次の画像では行と列を入れ替えて2つの制約(すべての行に回答させる、同じ列を2回以上選ばせない)を課してますが、4つの選択肢のすべてについて希望順位を選択しなければならなくなるため回答不能(必ずエラー)となります。