Google Form случайные вопросы из банка, каждый раз разные при открытии формы

У меня есть список из 14 вопросов в Google Sheet, которые я хотел бы использовать 5 случайным образом для заполнения формы Google. Мне удалось сделать это с помощью надстройки FormCreator в некоторой степени, но я бы хотел, чтобы вопросы генерировались случайным образом при каждом открытии формы. На данный момент форма заполняется 5 случайными вопросами, но всегда будет придерживаться первоначальных 5, независимо от того, изменяется ли выбор.

Формула, которую я использовал, чтобы выбрать случайную 5 из моих 14 (в листах):

=ArrayFormula(Array_Constrain(vlookup(Query({ROW($A$2:$A$16),randbetween(row($A$2:$A$16)^0,9^9)},"Select Col1 order by Col2 Asc"),{row($A$2:$A$16),$A$2:$A$16},2,FALSE),5,1))

Я пытаюсь создать одну форму, которая будет отличаться каждый раз, когда мои студенты открывают ее, вместо того, чтобы кропотливо создавать более 100 «случайных» форм вручную для использования.

Всего 2 ответа


кроме того, можете ли вы изменить формулу, чтобы дубликаты не использовались? То есть все пять случайных чисел уникальны?

таким образом, 5 сгенерированных вопросов всегда будут уникальными / не дублируются

=ARRAYFORMULA(ARRAY_CONSTRAIN(VLOOKUP(QUERY({ROW(A2:A16), 
 RANDBETWEEN(ROW(A2:A16)^0, 9^9)},
 "select Col1 order by Col2"), {ROW(A2:A16), A2:A16}, 2, 0), 5, 1))

0

но формула может быть короче:

=ARRAYFORMULA(QUERY({RANDBETWEEN(ROW(A2:A16), 999^99), A2:A16}, 
 "select Col2 order by Col1 limit 5", 0))

0


В настоящее время нет способа случайного изменения формы при каждом ее открытии. Google не предоставляет никаких механизмов для динамического изменения формы в ответ на поведение пользователя, поэтому теперь существует способ обновления или запуска логики при открытии формы.

Есть несколько вариантов, которые могут работать.

Вы можете настроить скрипт на триггер, который запускается каждые X минут, который случайным образом обновляет список вопросов.

Этот подход требует некоторых пользовательских сценариев и может привести к некоторому странному поведению в листе ответов, поскольку столбцы ответов не будут использоваться повторно так, как вы ожидаете.

Другой вариант - создать группу разделов со случайными наборами вопросов. Скажем, вы делаете 10 или 15 из этих разделов, каждый из которых состоит из 5 случайно выбранных вопросов. Затем для первого раздела вы создаете поле выбора со списком случайных чисел с вопросом, помеченным как «Выбрать любое число», и устанавливаете каждый параметр числа, чтобы перевести пользователя в другой раздел из 5 вопросов. Затем выберите опцию «Перемешать порядок заказа» на этот начальный вопрос.

Этот подход не требует каких-либо сценариев и дает вам некий псевдослучайный процесс в одной форме. Это может быть подходящим в зависимости от ваших потребностей.


Есть идеи?

10000