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

Google Apps Script多条件onEdit函数需求:新增CORRETIVA判断逻辑

修改后的onEdit脚本

以下是满足需求的完整脚本,新增了第5列字符串检查逻辑:

function onEdit(event) { // 更新于22/11/22

  var ss = SpreadsheetApp.getActiveSpreadsheet(); // 获取当前表格
  var sourceSheet = event.source.getActiveSheet(); // 触发事件的源工作表
  var activeRange = event.source.getActiveRange(); // 触发事件的单元格范围

  // 当源工作表是"实验室设备",且操作的是第1列复选框并勾选时
  if(sourceSheet.getName() == "EQUIPAMENTOS NO LABORATÓRIO" && activeRange.getColumn() == 1 && activeRange.getValue() == true) { 
    var row = activeRange.getRow(); // 获取当前行号
    var totalColumns = sourceSheet.getLastColumn(); // 获取源表总列数
    // 获取第5列(E列)的单元格值
    var column5Value = sourceSheet.getRange(row, 5).getValue();
    
    // 根据第5列是否包含"CORRETIVA"选择目标工作表
    var targetSheet;
    if(column5Value.includes("CORRETIVA")) {
      // 这里替换为你需要的另一目标工作表名称
      targetSheet = ss.getSheetByName("OUTRA PLANILHA CORRETIVA");
    } else {
      targetSheet = ss.getSheetByName("EQUIPAMENTOS PARA CORRETIVA");
    }

    var targetRange = targetSheet.getRange(targetSheet.getLastRow() + 1, 1); // 目标插入位置
    sourceSheet.getRange(row, 1, 1, totalColumns).moveTo(targetRange); // 移动整行到目标位置
    sourceSheet.deleteRow(row); // 删除源表中的该行
    targetRange.offset(0, totalColumns).setValue(new Date()); // 在目标行最后一列添加时间戳
  } 
  // 当源工作表是"已放行设备",且操作的是第1列复选框并取消勾选时
  else if(sourceSheet.getName() == "EQUIPAMENTOS LIBERADOS" && activeRange.getColumn() == 1 && activeRange.getValue() == false) { 
    var row = activeRange.getRow(); // 获取当前行号
    var totalColumns = sourceSheet.getLastColumn(); // 获取源表总列数
    var targetSheet = ss.getSheetByName("EQUIPAMENTOS NO LABORATÓRIO"); // 目标工作表
    var targetRange = targetSheet.getRange(targetSheet.getLastRow() + 1, 1); // 目标插入位置
    sourceSheet.getRange(row, 1, 1, totalColumns).moveTo(targetRange); // 移动整行到目标位置
    sourceSheet.deleteRow(row); // 删除源表中的该行
  }
}

关键改动说明

  • 新增获取第5列单元格值的代码,用于检查是否包含指定字符串:var column5Value = sourceSheet.getRange(row, 5).getValue();
  • 添加条件判断分支,根据第5列是否存在"CORRETIVA"选择对应的目标工作表
  • 保留原有时间戳添加逻辑,无论移动到哪个目标表都会在最后一列记录操作时间
  • 注意:请将代码中的"OUTRA PLANILHA CORRETIVA"替换为实际需要的另一工作表名称

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 04:51:12