如何将Google Sheets中标记为Done的行移动到另一个工作表?
Google Sheets标记Done后自动移动行到另一个工作表的实现步骤
步骤1:打开脚本编辑器
打开你的Google Sheets文件,点击顶部菜单栏的「扩展程序」→「Apps 脚本」,进入脚本编辑页面。
步骤2:替换默认脚本
删除编辑器里的默认代码,粘贴下面的脚本,注意替换其中的配置参数:
function onEdit(e) { // 以下是需要你根据实际情况修改的参数 const sourceSheetName = "任务列表"; // 你的待完成任务工作表名称 const targetSheetName = "已完成任务"; // 你的已完成任务工作表名称 const statusColumn = 9; // I列对应的列号(A=1,B=2...以此类推) const doneValue = "Done"; // 你用来标记任务完成的文本 const sourceSheet = e.source.getSheetByName(sourceSheetName); const targetSheet = e.source.getSheetByName(targetSheetName); // 判断编辑的单元格是否在指定的工作表和列 if (e.range.getSheet().getName() !== sourceSheetName || e.range.columnStart !== statusColumn) return; // 当单元格值为Done时,执行移动操作 if (e.value === doneValue) { const row = e.range.getRow(); const rowValues = sourceSheet.getRange(row, 1, 1, sourceSheet.getLastColumn()).getValues()[0]; // 将该行添加到目标工作表的末尾 targetSheet.appendRow(rowValues); // 删除原工作表中的该行 sourceSheet.deleteRow(row); } }
修改说明:
- 把
"任务列表"改成你存放待完成任务的工作表名称,"已完成任务"改成目标工作表名称,要和表格里的名字完全一致(包括大小写、空格)。 - 如果你标记完成用的不是"Done",比如用"完成",就把
"Done"改成对应的文本。
步骤3:保存并授权脚本
- 点击编辑器顶部的保存按钮(💾图标),给脚本起个名字(比如"MoveDoneTasks")。
- 第一次保存后会弹出授权提示,按照步骤选择你的Google账号,在授权页面里点击「高级」→「转到XXX脚本」,最后允许脚本访问你的表格。
步骤4:测试功能
回到Google Sheets,在I列的任意单元格输入"Done"(或者你设置的标记文本),对应的行会自动移动到目标工作表,原工作表的该行会被删除。
内容的提问来源于stack exchange,提问作者Mandy Blue22
相关产品推荐
相关产品推荐

