Запретить многократную отправку в форме Google - PullRequest
0 голосов
/ 29 октября 2018

У меня есть форма Google с идентификатором участника внутри. Могу ли я запретить одному и тому же идентификатору участника дважды отправлять одну и ту же форму, используя скрипт Google Apps?

1 Ответ

0 голосов
/ 13 ноября 2018

Нет возможности подтверждения перед отправкой. Единственный вариант - «удалить» повторяющиеся записи «memberID» в электронной таблице ответов формы.

Эта формула (помещенная в ячейку А1 чистого листа в таблице ответов на запросы) сделает это.

=ArrayFormula(sort(vlookup(query({row('Form Responses 1'!A:A),sort('Form Responses 1'!A:D)},"select max(Col1) group by Col3 label max(Col1)''",0),{row('Form Responses 1'!A:A),sort('Form Responses 1'!A:D)},{2,3,4,5},0),1,0))

В моем сценарии ответы на бланки получены в листе = Form Responses 1. Я создал второй лист = uniquesubmissions, чтобы поместить формулу массива, которая будет запрашивать ответы. Я также отформатировал столбец A листа uniquesubmissions как Дата / Время.


Примечание там десять заявок, но только восемь уникальных заявок. Идентификатор участника "S73895" сделал 3 представления, но мы распознаем только самые последние из них и игнорируем остальные. Можно было бы изменить порядок сортировки и принять только самые старые.

Form Responses


Unique Form Responses


Объяснение (перефразируя исходный источник)
{row('Form Responses 1'!A:A),sort('Form Responses 1'!A:D)}

  • Создает новый (виртуальный массив), состоящий из 5 столбцов: 1 столбец с номерами строк + 4 столбца исходной таблицы (но отсортированные, так что «последние» даты будут в нижней части таблицы)

query({row('Form Responses 1'!A:A),sort('Form Responses 1'!A:D)},"select max(Col1) group by Col3 label max(Col1)''",0)

Запрос выбирает максимальный номер строки (col1) (для каждого имени (группа по Col3)).

  • Эти номера строк (возвращаемые запросом) «ищутся» в одном и том же «виртуальном» массиве (см. Выше), и при совпадении возвращаются столбцы 2, 3, 4 и 5.

Credit Эта формула была адаптирована из дизайна JPV в ответе в Webapps, Google Spreadsheet Query для уникального и «самого последнего» * ​​1055 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...