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

基于Google Sheets为临床试验标本生成唯一递增标本ID

Google Sheet自动生成临床试验标本ID脚本方案

实现步骤

1. 确认表格结构

假设Google Form提交的数据存放在名为「表单响应1」的工作表中:

  • 第1列(A列)留空,用于存放自动生成的标本ID
  • 第2列(B列)为Form录入的Study ID(若你的Study ID在其他列,后续代码需对应调整列号)
  • 后续列依次为样本采集日期、接收日期、标本类型等Form录入项

2. 编写自动生成脚本

打开你的Google Sheet,按以下操作添加脚本:

  1. 点击顶部菜单栏「扩展程序」→「Apps脚本」
  2. 删除默认的myFunction代码,替换为以下脚本:
function onFormSubmit(e) {
  // 获取表单提交对应的工作表
  const targetSheet = e.source.getSheetByName('表单响应1');
  const currentRow = e.range.getRow();
  
  // 获取当前行的Study ID(这里假设Study ID在第2列,若位置不同请修改数字2)
  const studyId = targetSheet.getRange(currentRow, 2).getValue();
  
  // 统计该Study ID已提交的样本总数(从第2行开始,排除表头)
  const allStudyIds = targetSheet.getRange(2, 2, targetSheet.getLastRow() - 1, 1).getValues();
  const sampleCount = allStudyIds.filter(item => item[0] === studyId).length;
  
  // 生成4位补零的序号,拼接成标本ID
  const sequenceNum = sampleCount.toString().padStart(4, '0');
  const specimenId = `${studyId}/${sequenceNum}`;
  
  // 将生成的标本ID写入当前行的第1列(A列)
  targetSheet.getRange(currentRow, 1).setValue(specimenId);
}

3. 设置脚本触发条件

脚本需要绑定表单提交事件才能自动运行:

  1. 在Apps脚本界面,点击左侧菜单栏「触发器」
  2. 点击「添加触发器」,按以下配置设置:
    • 选择函数:onFormSubmit
    • 选择部署类型:「Head」
    • 选择事件源:「从表单提交」
    • 选择事件类型:「On form submit」
  3. 点击「保存」,按提示完成权限验证

4. 测试验证

提交1条Google Form数据,检查工作表第1列是否生成符合要求的标本ID:

  • 同一Study ID的第1个样本:[Study ID]/0001
  • 同一Study ID的第3个样本:[Study ID]/0003
  • 不同Study ID的序号独立递增,互不干扰

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 20:15:38