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

如何复制包含指定HUB值的行到对应工作表且保留数据库主表数据

多站点工作表同步功能实现方案

你当前的场景可以通过Google Sheets内置的Apps Script配合表单提交触发器完成,具体操作如下:

1. 配置表单提交触发器

打开你的database mastersheet(数据库主表),依次点击顶部菜单「扩展程序」→「Apps Script」进入脚本编辑器:

  • 点击编辑器左侧菜单栏的闹钟样式「触发器」按钮
  • 选择「添加触发器」
  • 触发函数选择你后续编写的同步函数名
  • 事件来源选择「电子表格」
  • 事件类型选择「表单提交」
  • 保存后按照提示授权脚本访问表格的权限即可

2. 完整同步代码

你现有逻辑可直接优化为以下可运行代码,适配你提到的需求:

function syncFormDataToHubSheet(e) {
  const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  const masterSheet = spreadsheet.getSheetByName("database mastersheet");
  // 读取最新提交的行数据
  const latestRowNum = masterSheet.getLastRow();
  const colCount = masterSheet.getLastColumn();
  const submittedRow = masterSheet.getRange(latestRowNum, 1, 1, colCount).getValues()[0];

  // 请修改下方索引为你HUB列实际的位置:第一列对应索引为0,第二列为1,以此类推
  const hubSiteName = submittedRow[2];
  const targetHubSheet = spreadsheet.getSheetByName(hubSiteName);

  // 匹配到对应站点工作表后追加数据
  if(targetHubSheet) {
    targetHubSheet.appendRow(submittedRow);
  }
}

提示:如果你的HUB字段在表格的第N列,将上述代码中的submittedRow[2]修改为submittedRow[N-1]即可正常匹配。

3. 功能测试

配置完成后提交1条测试表单数据,确认两点即可:

  • database mastersheet中保留了完整的提交记录
  • 对应HUB名称的站点工作表中自动新增了这条提交数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 22:36:04