如何根据答案总数而不是回复数量限制Google表单提交 [英] How to limit Google Form submissions based on total number of answers not number of responses
本文介绍了如何根据答案总数而不是回复数量限制Google表单提交的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我创建了一个简单的注册表,只要求:
- 电子邮件地址(必填)
- 名称(必填)
- 加一人姓名(非必填项-如果有)
我可以根据回复数量限制Google表单:
function closeForm() {
// get active form
var form = FormApp.getActiveForm();
// retrieve number of responses thusfar
var responses = form.getResponses();
// set close message
var msg = "We're sorry, the event is full.";
// do the math
if(responses.length >= 100) {
form.setAcceptingResponses(false).setCustomClosedFormMessage(msg);
}
}
但我想不出如何将限制设置为1和2的总和。(即剧院的座位总数)
有人能帮帮我吗?
推荐答案
多亏了@Chris W和@Umair的不懈帮助,我终于能够创建完成最初所需的表单。
以下脚本放置在表单的脚本编辑器中,并在表单提交时触发:
function FormDisabling() {
var form = FormApp.getActiveForm();
var msg = 'Sorry, the event is full.';
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Total');
var range = sheet.getRange('d21’);
var data = range.getValue();
if (data <= 40) {
form.setAcceptingResponses(false).setCustomClosedFormMessage(msg);
}
}
仅当附加的表单和电子表格按如下方式设置时才起作用:
第二个工作表(合计)从原始(响应)工作表填充,并添加了额外的(D)列。D2-D20有一个Countif公式(=COUNTIF(A2:B2;"<>")
),而单元格D21将这些值相加。如果它的值大于脚本中设置的数字,则该表单将禁用,并显示自定义消息。
我相信有一种不那么尖锐的方法来回答最初的问题。我很抱歉这些愚蠢的问题和评论,这是我第一次涉足Apps脚本(以及一段时间以来的逻辑思维)。
这篇关于如何根据答案总数而不是回复数量限制Google表单提交的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文