2025年5月7日水曜日

Google Formsのグリッドで「1 列につき 1 つの回答に制限」したい


今回はグリッドの質問で右下の︙メニューにある「1 列につき 1 つの回答に制限」を試してみます


フォームの編集画面




フォームの回答画面

同じ列で2つ以上選択するとエラー表示が出るようになります



それぞれの列で選択できるのはひとつだけ





Apps Scriptで実装する場合に追加するコード例
const gridValidation = FormApp.createGridValidation()
.setHelpText('Select one item per column.')
.requireLimitOneResponsePerColumn()
.build();
item.setValidation(gridValidation);


コード全体

Code.gs
function createGridWithValidation() {
const formName = 'English Proficiency Self-Assessment';
const description = 'Please select your self-assessed English proficiency level.';
const title = 'Please select your self-assessed English proficiency level.';

const rows = ['Vocabulary', 'Pronunciation', 'Grammar', 'Culture'];
const columns = ['1', '2', '3', '4', '5'];
const helpText = '1 = Beginner, 5 = Advanced';

const form = FormApp.create(formName);
form.setDescription(description);

const item = form.addGridItem();
item.setTitle(title)
.setRows(rows)
.setColumns(columns)
.setHelpText(helpText)
.setRequired(false);

form.setPublished(false);

const gridValidation = FormApp.createGridValidation()
.setHelpText('Select one item per column.')
.requireLimitOneResponsePerColumn()
.build();
item.setValidation(gridValidation);

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



Reference

addGridItem() 


setValidation(validation)