如何在Google Form(谷歌表单)中生成并向受访者展示唯一ID
谷歌表单提交后展示唯一ID实现方案
你已经在关联的谷歌电子表格中通过如下公式生成了唯一ID:
=arrayformula( if( len(A2:A), "" & text(row(A2:A) - row(A2) + 2, "000") & RIGHT(VALUE(A2:A), 3), iferror(1/0) ) )
可通过以下操作实现提交表单后自动向受访者展示对应唯一ID,无需收集受访者邮箱:
操作步骤
- 第一步:打开和表单绑定的谷歌电子表格,点击顶部菜单栏「扩展程序」>「Apps 脚本」进入脚本编辑器
- 第二步:删除编辑器内默认的示例代码,粘贴如下代码:
// 请将下方SHEET_NAME替换为你的表格工作表名,ID_COLUMN替换为唯一ID所在的列序号(A列=1,B列=2,以此类推) const SHEET_NAME = "表单响应 1"; const ID_COLUMN = 3; function onFormSubmit(e) { // 获取最新提交的行号 const row = e.range.getRow(); // 获取该行对应的唯一ID const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SHEET_NAME); const uniqueId = sheet.getRange(row, ID_COLUMN).getValue(); // 获取绑定的表单 const form = FormApp.openByUrl(SpreadsheetApp.getActiveSpreadsheet().getFormUrl()); // 设置提交确认消息 form.setConfirmationMessage(`你的提交已成功,唯一ID为:${uniqueId},请妥善保存用于后续表单填写。`); }
- 第三步:修改代码内的
SHEET_NAME和ID_COLUMN参数为你自己的表格实际值,点击顶部「保存」按钮,给项目设置任意名称 - 第四步:添加触发器:点击脚本编辑器左侧的闹钟形状「触发器」按钮,选择「添加触发器」,按如下参数设置:
- 选择要运行的函数:
onFormSubmit - 选择部署版本:「表头(默认)」
- 选择事件来源:「电子表格」
- 选择事件类型:「表单提交时」
保存后按页面提示完成谷歌账号授权,遇到「未验证应用」提示时点击「高级」>「前往(你的项目名称)」即可继续授权
- 选择要运行的函数:
- 第五步:回到谷歌表单,点击「设置」>「演示文稿」,删除原来的自定义确认消息内容,留空即可
效果参考
注意事项
- 如果需要更高的稳定性避免ID串号,可额外配置独立Web App展示ID,只需在上述代码中追加重定向逻辑即可,无需接入第三方服务
- 唯一ID生成逻辑无需修改,和你现有的公式完全兼容
内容的提问来源于stack exchange,提问作者Rikuo_Otonashi
相关产品推荐
相关产品推荐


