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

请求编写Google Sheets脚本:自动合并表单提交数据至主数据

Google Sheet 自动合并表单提交数据脚本方案

核心逻辑

针对关联Google Form的Sheet,每次有新提交时,提取该行的多组重复字段,拆分成单独行后追加到指定的主数据表格中。

完整脚本代码

function onFormSubmit(e) {
  // 配置参数:根据你的表格结构修改
  const sourceSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("表单提交"); // 表单响应表名
  const targetSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("主数据"); // 目标主数据表名
  const groupCount = 3; // 每组数据的列数(比如姓名+电话+邮箱=3列)
  const startColumn = 2; // 第一组数据的起始列号(从1开始计数)

  // 获取新提交的行数据
  const newRow = e.range.getValues()[0];
  // 遍历每组数据,拆分并整理
  for (let i = 0; i < newRow.length / groupCount; i++) {
    const startIndex = startColumn - 1 + i * groupCount;
    const groupData = newRow.slice(startIndex, startIndex + groupCount);
    // 跳过空数据组(如果表单中某组未填写)
    if (groupData.every(cell => cell === "")) continue;
    // 追加到主数据表
    targetSheet.appendRow(groupData);
  }
}

脚本配置说明

  • 修改sourceSheet和targetSheet的表名,匹配你的实际表格名称
  • groupCount设置每组数据的列数(比如你原始表中每组是3列,就设为3)
  • startColumn设置第一组数据的起始列(比如从B列开始,就设为2)

设置自动触发

  1. 打开Google Sheet,点击顶部菜单栏「扩展程序」→「Apps脚本」
  2. 将上述代码粘贴到脚本编辑器,保存并命名项目
  3. 点击编辑器左侧「触发器」图标(闹钟形状)
  4. 点击「添加触发器」,配置如下:
    • 选择要运行的函数:onFormSubmit
    • 选择部署来源:「Head」
    • 选择事件来源:「从电子表格」
    • 选择事件类型:「表单提交」
  5. 保存并授权所需权限

常见问题处理

  • 如果脚本报错,先检查表名、列数配置是否正确
  • 确保表单提交的行数据结构和你设置的groupCount匹配
  • 授权时如果出现权限提示,选择「高级」→「前往项目名称(不安全)」完成授权

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 10:44:56