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

如何将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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 14:01:37