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

如何设置Excel/Google Sheet工作簿新增行时自动同步至所有工作表?

实现Google Sheets多工作表新增行同步

解决方案:使用Google Apps Script自定义同步逻辑

下面的脚本可以实现:当你在指定的7个工作表中插入行或编辑单元格内容时,自动同步到其他工作表的对应位置。

步骤1:设置脚本

  1. 打开你的Google工作簿,点击顶部菜单栏的「扩展程序」>「Apps 脚本」,打开脚本编辑器。
  2. 删除编辑器里的默认代码,粘贴以下脚本:
function onEdit(e) {
  const editedSheet = e.source.getActiveSheet();
  const editedRange = e.range;
  const editedRow = editedRange.getRow();
  const editedCol = editedRange.getColumn();
  const editedValue = e.value;
  
  // 替换成你的7个工作表名称,注意和标签名完全一致
  const syncSheets = ["Sheet1", "Sheet2", "Sheet3", "Sheet4", "Sheet5", "Sheet6", "Sheet7"];
  
  if (!syncSheets.includes(editedSheet.getName())) return;
  
  syncSheets.forEach(sheetName => {
    if (sheetName === editedSheet.getName()) return;
    const targetSheet = e.source.getSheetByName(sheetName);
    targetSheet.getRange(editedRow, editedCol).setValue(editedValue);
  });
}

function onChange(e) {
  if (e.changeType !== 'INSERT_ROW') return;
  
  const editedSheet = e.source.getActiveSheet();
  const insertedRow = editedSheet.getActiveRange().getRow();
  
  const syncSheets = ["Sheet1", "Sheet2", "Sheet3", "Sheet4", "Sheet5", "Sheet6", "Sheet7"];
  
  if (!syncSheets.includes(editedSheet.getName())) return;
  
  syncSheets.forEach(sheetName => {
    if (sheetName === editedSheet.getName()) return;
    const targetSheet = e.source.getSheetByName(sheetName);
    targetSheet.insertRowBefore(insertedRow);
    // 复制插入行的内容,如果不需要复制格式,保持PASTE_VALUES即可;需要格式则改成PASTE_ALL
    const sourceRow = editedSheet.getRange(insertedRow, 1, 1, editedSheet.getLastColumn());
    sourceRow.copyTo(targetSheet.getRange(insertedRow, 1), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  });
}
  1. 修改脚本里的syncSheets数组,把里面的示例表名替换成你实际使用的7个工作表名称(大小写、空格要和工作表标签完全匹配)。
  2. 点击编辑器顶部的保存按钮,给脚本命名(比如「RowSync」)。
  3. 授权脚本:点击「运行」,按照提示完成授权流程(需要允许脚本访问你的表格数据,属于安全操作)。

步骤2:测试功能

  • 新增内容测试:在任意同步工作表的某单元格(比如Sheet1!A5)输入内容「mark」,其他工作表的对应位置(如Sheet2!A5)会自动同步该内容。
  • 插入行测试:在任意同步工作表插入一行,其他工作表的相同位置会自动插入一行,并复制该行的内容。

注意事项

  • 如果需要同步单元格格式、公式等,可以将脚本中的SpreadsheetApp.CopyPasteType.PASTE_VALUES修改为SpreadsheetApp.CopyPasteType.PASTE_ALL。
  • 脚本会实时触发,操作后几秒内即可完成同步。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 13:40:24