2025年5月8日木曜日

Google Formsで質問の順番をシャッフルしたい(setShuffleQuestions)


設定画面で「質問の順序をシャッフルする」をオンにすると

開く度に質問の順序が入れ変わるフォームを作成できます


フォームの編集画面

設定 > 表示設定 > フォームの表示 > 質問の順序をシャッフルする


試しに3つの質問を作ってみました


今回の例では
Question 1
Question 2
Question 3
の順序で単一選択の質問を作成しています



フォームの回答画面

フォームを開いてみると質問の順序が入れ替わって表示されます



これで開く度に質問の順序が入れ替わるようになります



Apps Script で追加する場合

以下の Code.gs で title, questions の値を書き換えて

createShuffledQuestionForm() を実行すると

開く度に質問の順序が入れ替わるフォームが作成されます



Code.gs
function createShuffledQuestionForm() {
const title = 'Shuffle Questions Demo';
const questions = [
{ title: 'Question 1: Favorite color?', choices: ['Red', 'Blue', 'Green'] },
{ title: 'Question 2: Favorite food?', choices: ['Pizza', 'Sushi', 'Pasta'] },
{ title: 'Question 3: Favorite animal?', choices: ['Cat', 'Dog', 'Bird'] }
];

const form = FormApp.create(title);
questions.forEach(question => {
form.addMultipleChoiceItem()
.setTitle(question.title)
.setChoiceValues(question.choices)
.setRequired(false);
});

form.setShuffleQuestions(true);// 質問の順序をシャッフルする設定を有効にします
form.setPublished(false);

Logger.log('Form Edit URL: ' + form.getEditUrl());
}


Tips

質問内の選択肢をシャッフルする方法もあります