同文档Google Sheets指定区域数据迁移及时间戳添加需求
Google Sheets 数据迁移+时间戳+按钮触发实现方案
需求明确
- 同一文档内两个工作表,将源表指定区域数据迁移到目标表的下一行空白位置
- 迁移时自动为新记录添加时间戳
- 通过自定义按钮触发操作
实现步骤
1. 编写Apps Script脚本
打开Google Sheets,点击「扩展程序」→「Apps 脚本」,替换默认代码为:
function moveDataWithTimestamp() { // 按需修改工作表名称和源数据区域 const sourceSheetName = "Sheet1"; const targetSheetName = "Sheet2"; const sourceRange = "A2:C2"; // 示例单行区域,可改为A2:C10这类多行区域 const ss = SpreadsheetApp.getActiveSpreadsheet(); const sourceSheet = ss.getSheetByName(sourceSheetName); const targetSheet = ss.getSheetByName(targetSheetName); // 获取源数据 const data = sourceSheet.getRange(sourceRange).getValues(); // 源区域为空则终止 if (data.flat().every(cell => cell === "")) return; // 定位目标表下一个空白行 const nextRow = targetSheet.getLastRow() + 1; // 为每条数据添加时间戳(中文本地化格式) const dataWithTimestamp = data.map(row => [ ...row, new Date().toLocaleString('zh-CN', { year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit' }) ]); // 写入目标表 targetSheet.getRange(nextRow, 1, dataWithTimestamp.length, dataWithTimestamp[0].length).setValues(dataWithTimestamp); // 可选:清空源区域,方便下次输入 sourceSheet.getRange(sourceRange).clearContent(); }
2. 添加触发按钮
- 返回工作表界面,点击「插入」→「绘图」,绘制带文字(如「迁移数据」)的按钮,保存后插入到工作表
- 右键点击绘图,选择「分配脚本」,输入
moveDataWithTimestamp并确定
3. 测试验证
在源表指定区域输入数据,点击按钮,检查目标表是否成功添加带时间戳的记录,且位于下一行空白位置
自定义调整提示
- 修改脚本中的
sourceSheetName、targetSheetName匹配你的实际工作表名称 - 调整
sourceRange指定需要迁移的区域(支持多行) - 时间戳格式可自定义,比如用
new Date().toISOString()获取国际标准格式
内容的提问来源于stack exchange,提问作者Really Simple
相关产品推荐
相关产品推荐

