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

Google Apps Script 复制行时如何无需OnEdit直接在A列添加时间戳

我的目标

我希望借助下述代码,给符合条件的行添加A列时间戳:

for (var i = 0; i < numRows; i++){
    let aVal = dataSetValues[i][0];    
    let bVal = dataSetValues[i][1];    
    let cVal = dataSetValues[i][2];
    let dVal = dataSetValues[i][3];
    let fVal = dataSetValues[i][5];  
    let gVal = dataSetValues[i][6];
    let hVal = dataSetValues[i][7];
    // + other columns

    let sum = +fVal + +gVal;
        
    if (sum > 115) {          
      let row = dataSetValues[i];          
      var rngDest = dest.getRange(dest.getLastRow() + 1, 6, 1, row.length);          
      rngDest.setValues([row]);    
    }
  }
我当前使用的代码
var i = spreadsheet.getActiveCell();
   if(i.getColumn() == 6) {          
      var timestamp = i.offset(0, -5);          
      if( timestamp.getValue() === '' )            
        timestamp.setValue(new Date());      
      }
   }
遇到的问题

当前时间戳没有正常生成,只有我手动在F列输入内容时才会生效。我不想使用OnEdit脚本,请问是否可以在复制行的过程中直接完成时间戳添加操作?

补充更新

我已经补充了完整的主代码,明确需求为在A列添加时间戳。我之所以不想用OnEdit,是因为ws2表格后续我还要添加其他数据,需要保留可编辑属性。


解决方案

直接修改原有复制行的逻辑即可,无需依赖OnEdit触发器,修改后代码如下:

for (var i = 0; i < numRows; i++){
    let aVal = dataSetValues[i][0];    
    let bVal = dataSetValues[i][1];    
    let cVal = dataSetValues[i][2];
    let dVal = dataSetValues[i][3];
    let fVal = dataSetValues[i][5];  
    let gVal = dataSetValues[i][6];
    let hVal = dataSetValues[i][7];
    // + other columns

    let sum = +fVal + +gVal;
        
    if (sum > 115) {          
      let row = dataSetValues[i];
      // 构建带时间戳的新行,A列位置直接写入当前时间
      let rowWithTimestamp = [new Date(), ...row];
      // 写入起始位置改为A列(第1列),适配新的行结构
      var rngDest = dest.getRange(dest.getLastRow() + 1, 1, 1, rowWithTimestamp.length);          
      rngDest.setValues([rowWithTimestamp]);    
    }
  }

修改说明

  1. 在符合条件、要写入目标表的行数据前新增时间戳元素,对应目标表的A列
  2. 把原写入范围的起始列从第6列改为第1列,刚好匹配带时间戳的新行结构
  3. 所有逻辑都嵌入原有行复制流程中,不会触发任何编辑类触发器,完全不影响后续手动编辑表格的需求

如果不需要保留原行的第一列数据,或者需要调整列的对应顺序,直接调整rowWithTimestamp数组的元素排列即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 17:24:02