根据Google表格中的单元格更改表单上的问题

问题描述 投票:0回答:1

对编码完全陌生,随着我的前进,我正在自学。到目前为止我已经取得的成就让我非常高兴,现在我想突破我的学习范围!

因此,背景-我组织青年足球比赛。参赛队通过Google表单进入比赛。表格进入Google工作表,然后我使用公式来确保每个年龄组都能看到多少支队伍。每个年龄段的人最多可以参加比赛。实时表单的链接为https://forms.gle/8VoBddM8AAJMFXqM7

我想做什么

目前,当年龄组接近满员时,我必须手动编辑表格。例如,俱乐部最多可以进入两个团队。当只剩下一个空格时,我目前必须手动删除进入2个团队的选项,以确保可以输入1个团队。有时这导致我无法足够快地完成操作,即使只有1个可用空间,也要进入2个团队。所以这一切都变得有点混乱

所以-是否存在代码,当工作表中的单元格等于特定数字时,Google表单会自动删除进入2个小组的选项,所以我没有这个问题?

第二.......

[年龄组填满后,我必须手动编辑表单,以将该年龄组以后的所有条目定向到表单的其他部分,以便团队填写后备名单。像上面一样,有时我做不到足够快的时间。因此,是否有任何代码可用于根据工作表中单元格的值自动将用户定向到表单的其他部分?

因此总结

我需要做的是根据工作表中的单元格值自动删除表单中的选项。其次,根据工作表中的单元格值自动重定向到表单中的其他部分

我对这一切还是陌生的,学习,所以请客气! :)

google-sheets google-form
1个回答
0
投票

您要根据表单提交中产生的某些值对表单进行更改。此答案的确试图解决表单更改(并非至少出于未知原因而不知道表单结构的原因),但重点在于识别阈值事件,这些阈值事件将引起脚本来修改表单。

阈值

您要确定年龄组,在提交新表格后,“剩余的位数”为1或0。

考虑到可能有很多方法可以执行此操作,而此脚本是其中一种方法。

关键要素

  • 该功能必须安装为onFormSubmit
  • 实际提交的表单似乎并不重要(尽管随着脚本的进一步增强,这可能会改变)
  • 从概述中检索的数据包括B-> F列,因为一旦评估了值(F列),就必须标识相关的年龄段(B列)

function so6047592901() {

  // sample of onFormSubmit to check 

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var overview = ss.getSheetByName("Overview");
  var responses = ss.getSheetByName('Form Responses 1');


  // get the data
  var startRow=3
  var startCol=2
  var rows = 19
  var cols = 5
  var data =  overview.getRange(startRow, startCol, rows, cols);
  //Logger.log("DEBUG: data range = "+data.getA1Notation());
  var values = data.getValues();
  //Logger.log("DEBUG: number values = "+values)


  // test for places left = 1
  var test1left = "1";
  // test for places left = 0
  var test0left = "0";

  for (var i=0;i<values.length;i++){
    // test for the Age Group
     var ageGrp = values[i][0]
    if (values[i][4] == test1left) {
      Logger.log("DEBUG: Places Left = "+values[i][4]+", i:"+i+" , Age group is "+ageGrp);
    }
    if (values[i][4] == test0left){
      Logger.log("DEBUG: Places Left = "+values[i][4]+", i:"+i+" , Age group is "+ageGrp);
    }
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.