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

请求Google Sheets自动脚本:F列设为'done'时将整行移至指定行

Google Sheets 自动移动已标记行脚本

以下是满足你需求的自动执行脚本,通过onEdit简单触发器实现,无需手动激活:

function onEdit(e) {
  const sheet = e.source.getActiveSheet();
  const range = e.range;
  
  // 仅响应F列(第6列)单元格变更,且值为'done'(不区分大小写)
  if (range.getColumn() !== 6 || range.getValue().toLowerCase() !== 'done') return;
  
  const targetRow = 40; // 设定要移动到该行之后
  const rowToMove = range.getRow();
  
  // 若目标行已在指定行之后,无需处理
  if (rowToMove > targetRow) return;
  
  // 获取待移动行的完整数据
  const rowContent = sheet.getRange(rowToMove, 1, 1, sheet.getLastColumn()).getValues()[0];
  
  // 删除原行
  sheet.deleteRow(rowToMove);
  
  // 在指定行下方插入新行并写入数据
  sheet.insertRowAfter(targetRow);
  sheet.getRange(targetRow + 1, 1, 1, rowContent.length).setValues([rowContent]);
}

脚本设置步骤:

  1. 打开你的Google Sheets表格,点击顶部菜单栏的扩展 → Apps 脚本
  2. 删除编辑器里的默认代码,粘贴上面的脚本
  3. 点击编辑器顶部的保存按钮,给项目命名(比如"DoneRowAutoMover")
  4. 关闭脚本编辑器,回到表格即可生效

注意事项:

  • 该脚本属于简单触发器,编辑自己的表格时无需额外授权就能自动运行
  • 可修改targetRow变量的值,设置你需要的目标行号(比如把40改成其他数字)
  • 脚本不区分'done'的大小写,输入'Done'/'DONE'也会触发移动
  • 若待移动的行已经在指定目标行之后,脚本会自动跳过,避免无效操作

内容的提问来源于stack exchange,提问作者365 KiM CUONG LAND

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 09:46:01