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

谷歌表格:基于日期填充实现跨标签页数据自动同步需求

需求可实现,使用Google Apps Script即可完成自动同步
  • 核心实现逻辑:借助谷歌表格的onEdit触发器,监听目标标签页(如4-LD、8-ASD)的日期单元格编辑事件,通过人员标识匹配overall标签页的数据,自动同步姓氏、名字信息。

  • 具体操作步骤:

    1. 打开目标谷歌表格,点击顶部菜单栏「扩展程序」>「Apps Script」进入脚本编辑器。
    2. 删除默认代码,粘贴以下自定义脚本:
      function onEdit(e) {
        const activeSheet = e.source.getActiveSheet();
        // 定义需要监听的目标标签页,后续新增标签页直接添加到数组即可
        const targetSheetNames = ["4-LD", "8-ASD"];
        if (!targetSheetNames.includes(activeSheet.getName())) return;
      
        const editedCell = e.range;
        // 假设日期列是C列(第3列),请根据实际表格结构调整
        if (editedCell.getColumn() !== 3) return;
      
        const rowNum = editedCell.getRow();
        // 假设人员ID列是A列(第1列),请根据实际表格结构调整
        const personId = activeSheet.getRange(rowNum, 1).getValue();
        if (!personId) return;
      
        // 读取overall标签页的全量数据
        const overallSheet = e.source.getSheetByName("overall");
        const allData = overallSheet.getDataRange().getValues();
      
        // 匹配ID并同步姓名
        allData.forEach((row, index) => {
          if (index === 0) return; // 跳过表头行
          if (row[0] === personId) { // 假设overall中ID列是第1列
            // 同步姓氏到目标页B列(第2列),名字到目标页D列(第4列),请按需调整
            activeSheet.getRange(rowNum, 2).setValue(row[1]);
            activeSheet.getRange(rowNum, 4).setValue(row[2]);
          }
        });
      }
      
    3. 保存脚本(可命名为AutoSyncPersonData),关闭脚本编辑器。
  • 关键注意事项:

    • 需根据你的表格实际列位置,调整代码中的列索引(代码中列从1开始计数)。
    • 首次触发脚本时,需按照提示完成谷歌表格的权限授权操作。
    • 若后续新增类似标签页,只需在targetSheetNames数组中添加对应标签页名称。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 12:54:56