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

Google Sheets脚本如何按不同品类库存阈值条件复制对应行

调整后完整脚本

function onEdit(event) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = event.source.getActiveSheet();
  var r = event.source.getActiveRange();
  
  // 仅处理Stock表D列的编辑操作
  if(s.getName() == "Stock" && r.getColumn() == 4) {
    var currentRow = r.getRow();
    // 读取当前行A列的品类值
    var category = s.getRange(currentRow, 1).getValue();
    var stockNum = r.getValue();
    var triggerThreshold = 0;

    // 按品类匹配阈值
    if(category == "Power Tools") {
      triggerThreshold = 5;
    } else if(category == "Hand Tools") {
      triggerThreshold = 10;
    } else {
      // 其他品类不触发操作,直接退出
      return;
    }

    // 满足阈值条件时复制行
    if(stockNum <= triggerThreshold) {
      var numColumns = s.getLastColumn();
      var targetSheet = ss.getSheetByName("Orders");
      var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
      s.getRange(currentRow, 1, 1, numColumns).copyTo(target);
    }
  }
}

关键修改说明

  • 新增了当前编辑行A列品类的读取逻辑,不再使用统一阈值判断
  • 新增品类分支匹配规则,分别对应两个品类的库存阈值要求
  • 新增其他品类的退出逻辑,避免无效操作占用资源
  • 补全了原有代码缺失的函数入口声明,避免脚本无法被触发器识别调用

生效验证步骤

  1. 替换原有脚本代码后保存,授予脚本必要的表格读写权限
  2. 删除原有旧触发器,重新创建可安装编辑触发器,触发事件源选「电子表格」,事件类型选「编辑时」
  3. 测试验证:分别修改Power Tools行D列数值为5、Hand Tools行D列数值为10,确认两行均能成功复制到Orders表

内容的提问来源于stack exchange,提问作者paweł sokolowski

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 07:57:01