Google 表格链接到 Google 电子表格 - 回复顺序

Google Form linked to Google Spreadsheet - Order of responses

我有一个连接到 Google 电子表格的 Google 表单。我注意到,如果我决定在此 Google 电子表格上手动写入内容,则在以后的响应中不会保留输入顺序。

例如:假设有 3 行,每行都有一个 Google 表单响应,我在第 4 行手动写了一些东西。下次有 Google 表单回复时,电子表格将在第 4 行显示新回复,并将我的手动输入移至第 5 行。

我想知道是否有办法让新的回复显示在任何手动输入的下方,以便保留顺序。 (有 3 行带有 Google 表单数据,第 4 行带有手动输入,第 5 行带有 Google 表单响应。)

您可以创建一个 onFormSubmit 触发器,它将通过比较最后一行和响应行来检查电子表格中是否存在手动输入。如果响应行不等于最后一行,则表示已进行手动输入,我们将响应移至最后一行。

转到工具 -> 脚本编辑器并粘贴以下代码:

function moveToLastRow(e) {
  var sheet = e.range.getSheet();
  var lastRow = sheet.getLastRow();
  var row = e.range.getRow();
  var data = e.values;
  if(lastRow != row){
    sheet.deleteRow(row);
    sheet.appendRow(data);
  }
}

创建一个 onFormSubmit 触发器:

  1. 打开您的 Apps 脚本项目。
  2. 点击左侧的触发警报。
  3. 点击右下角的添加触发器。
  4. Select 并配置您要创建的触发器类型。
  5. 点击保存。

对于这种情况,复制这些配置:

输出:

参考资料