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

Google Sheets脚本修正:实现行跨标签迁移与删除功能

Google Apps Script 修正方案

一、表单提交自动迁移数据(修正原错误)

原代码报错原因:

  • 误用onEdit简单触发处理表单提交,表单提交需使用可安装的onFormSubmit触发器;直接运行onEdit会因缺少事件参数e,导致e.range未定义报错。
  • 逻辑判断与需求不匹配:原代码判断第10列值,不符合表单提交后迁移整行的需求。

修正后的代码:

// 处理表单提交:将Form Responses的新增行迁移到Open Requests并删除源行
function moveFormResponseToOpen(e) {
  // 限定触发源为Form Responses工作表
  const sourceSheet = e.source.getSheetByName('Form Responses');
  if (!sourceSheet || e.range.getSheet().getName() !== 'Form Responses') return;

  const targetSheet = e.source.getSheetByName('Open Requests');
  if (!targetSheet) {
    SpreadsheetApp.getUi().alert('未找到「Open Requests」工作表');
    return;
  }

  // 获取新增行数据并追加到目标表
  const rowData = e.range.getValues()[0];
  targetSheet.appendRow(rowData);
  // 删除源表中的对应行
  sourceSheet.deleteRow(e.range.getRow());
}

配置步骤:

  1. 保存代码后,点击编辑器顶部的时钟样式「触发器」图标。
  2. 点击「添加触发器」:
    • 选择函数:moveFormResponseToOpen
    • 部署类型:「Head」
    • 事件源:「电子表格」
    • 事件类型:「表单提交」
    • 点击保存并完成权限授权。

二、状态改为Completed时自动迁移数据

// 处理状态变更:将Open Requests中Status为Completed的行迁移到Completed Requests
function onEdit(e) {
  if (!e) {
    SpreadsheetApp.getUi().alert('请通过手动编辑单元格触发此函数,不要直接运行!');
    return;
  }

  const range = e.range;
  const sourceSheet = range.getSheet();
  // 仅处理Open Requests工作表的第10列(J列,Status列)
  if (sourceSheet.getName() !== 'Open Requests' || range.getColumn() !== 10) return;

  const statusValue = range.getValue().trim();
  if (statusValue !== 'Completed') return;

  const targetSheet = e.source.getSheetByName('Completed Requests');
  if (!targetSheet) {
    SpreadsheetApp.getUi().alert('未找到「Completed Requests」工作表');
    return;
  }

  // 获取整行数据并追加到目标表
  const rowData = sourceSheet.getRange(range.getRow(), 1, 1, sourceSheet.getLastColumn()).getValues()[0];
  targetSheet.appendRow(rowData);
  // 删除源表中的对应行
  sourceSheet.deleteRow(range.getRow());
}

注意事项:

  • onEdit为简单触发,无需额外配置触发器,但直接运行会因缺少事件参数报错,需通过手动编辑单元格触发。
  • 确保三个工作表名称完全匹配:「Form Responses」「Open Requests」「Completed Requests」,大小写、空格需完全一致。

内容的提问来源于stack exchange,提问作者Angela Lovell

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 06:13:22