You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Google Form响应ID保存至关联的Google Spreadsheet

把Google Form响应ID保存到关联表格的方法

没问题,我来一步步教你实现这个需求:

1. 修改你的表单脚本

把原来的submitForm2函数替换成下面的代码,每一步都加了注释说明作用:

function submitForm2(e) {
  // 获取当前提交的响应ID
  const responseId = e.response.getId();
  
  // 获取表单关联的目标电子表格
  const form = FormApp.getActiveForm();
  const destinationSpreadsheet = SpreadsheetApp.openById(form.getDestinationId());
  const responseSheet = destinationSpreadsheet.getActiveSheet(); // 默认的响应数据工作表
  
  // 定位到刚提交的那一行(表单提交后会自动在表格最后新增一行)
  const lastRow = responseSheet.getLastRow();
  
  // 把响应ID写入指定列,这里例子选第5列(对应表格里的E列)
  // 如果你想把ID加到现有数据的最右侧新列,可以用下面的targetColumn写法
  // const targetColumn = responseSheet.getLastColumn() + 1;
  const targetColumn = 5;
  
  // 将响应ID写入目标单元格
  responseSheet.getRange(lastRow, targetColumn).setValue(responseId);
}

2. 设置表单提交触发器

这个脚本需要在表单提交时自动触发,所以得配置触发器:

  • 打开Google Form,点击右上角的三个点 → 选择「脚本编辑器」
  • 在脚本编辑器界面,点击左侧栏的「触发器」图标(闹钟形状)
  • 点击「添加触发器」按钮,按以下配置:
    • 要运行的函数:submitForm2
    • 事件源:「从表单」
    • 事件类型:「表单提交」
  • 点击保存,按照提示完成权限授权(第一次授权需要确认允许脚本访问你的表格和表单)

3. 实用小提示

  • 如果不想固定列号,想自动把ID加到现有数据的最右侧,可以把代码里的targetColumn改成responseSheet.getLastColumn() + 1,这样每次都会自动新增一列存ID
  • 测试时可以手动提交一次表单,然后去关联表格的目标列查看,确认响应ID已经写入
  • 要是你的表单关联了多个工作表,记得把getActiveSheet()改成实际存响应数据的工作表名称,比如getSheetByName("表单响应1")

内容的提问来源于stack exchange,提问作者user4565857

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 02:30:09