每次修改单元格时创建/更改日期戳

时间:2020-04-26 18:25:35

标签: javascript google-apps-script google-sheets timestamp triggers

我试图弄清楚如何创建日期戳,以便在单元格中进行更改后立即进行修改。我对Google App脚本也很陌生(每个人都需要从某个地方开始)。

我找到了以下有关如何创建日期戳的代码:

function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
if( s.getName() == "Test" ) { //checks that we're on Sheet1 or not
var r = s.getActiveCell();
if( r.getColumn() == 8 ) { //checks that the cell being edited is in column A
var nextCell = r.offset(0, -1);
if( nextCell.getValue() === '' ) //checks if the adjacent cell is empty or not?
nextCell.setValue(new Date());
}
}
}

对于在H列中填充的任何数据,都可以在G列中添加日期戳。

但是,如果我想将H2中的数据更改为任何值,则G2中的日期保持不变。

任何人都可以提出建议。

1 个答案:

答案 0 :(得分:0)

您的代码包含条件if( nextCell.getValue() === '' )

这意味着仅在nextCell(G列中的单元格)为空的情况下设置时间戳记

如果您希望每次更新时间戳,请更改H列中的值-删除此条件。

所以:

function onEdit() {
  var s = SpreadsheetApp.getActiveSheet();
  if( s.getName() == "Test" ) { //checks that we're on Sheet1 or not
    var r = s.getActiveCell();
    if( r.getColumn() == 8 ) { //checks that the cell being edited is in column A
      var nextCell = r.offset(0, -1);
      nextCell.setValue(new Date());
    }
  }