如果在第 1 列到第 9 列中的任何列中被修改,我能够修改时间戳是在第 10 列输入的,最后在第 11 列进行修改。
我知道在第一次修改每列时需要获取粒度和时间戳,同时保持现有的时间戳设置。
我相信这就像“if”语句一样简单,但我似乎无法弄清楚。
这是我到目前为止所拥有的。这为我提供了日期和时间,第 1 列和第 9 列之间的任何单元格在该行上被第一次修改,并在第 10 列返回日期和时间,然后在第 11 列上返回最后修改日期和时间(如果进行了任何更改)。现在我想记录第 1-9 列的第一次修改时间,并从第 12 列开始在同一张表上输入它们
function addTimestamp (e){
//variables
var startRow = 2;
var ws = "Daily Log"
var currentDate = 1
//get modified row and column
var row = e.range.getRow();
var col = e.range.getColumn();
if(([1,2,3,4,5,6,7,8,9].includes(col))&& row >= startRow
&&e.source.getActiveSheet().getName() ==ws){
var currentDate = new Date();
e.source.getActiveSheet().getRange(row, 11).setValue(currentDate);
if(e.source.getActiveSheet().getRange(row, 10).getValue()== ""){
e.source.getActiveSheet().getRange(row,10).setValue(currentDate);
} // END IF check if date created exists
} // END IF column, row, worksheet
}
特别感谢@raygun,他帮助我创建了 uniq 驱动程序 ID。