谷歌表格:基于日期填充实现跨标签页数据自动同步需求
需求可实现,使用Google Apps Script即可完成自动同步
核心实现逻辑:借助谷歌表格的
onEdit触发器,监听目标标签页(如4-LD、8-ASD)的日期单元格编辑事件,通过人员标识匹配overall标签页的数据,自动同步姓氏、名字信息。具体操作步骤:
- 打开目标谷歌表格,点击顶部菜单栏「扩展程序」>「Apps Script」进入脚本编辑器。
- 删除默认代码,粘贴以下自定义脚本:
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]); } }); } - 保存脚本(可命名为
AutoSyncPersonData),关闭脚本编辑器。
关键注意事项:
- 需根据你的表格实际列位置,调整代码中的列索引(代码中列从1开始计数)。
- 首次触发脚本时,需按照提示完成谷歌表格的权限授权操作。
- 若后续新增类似标签页,只需在
targetSheetNames数组中添加对应标签页名称。
内容的提问来源于stack exchange,提问作者Natalie Grenfell
相关产品推荐
相关产品推荐

