Google Sheets:如何为一个单元格值字段中所做的每项更改输入时间戳?

问题描述

我不是 Google 表格方面的专家,但谁能帮助我在特定单元格的每次更新上添加时间戳,好吗?

请检查链接

enter image description here

假设 B2B4-B7 的总量,我想从 100.00 更新 Acct1 strong> 到 600.00 自动更新 B2 到 1500.00。我的问题是,我如何跟踪在 B2 上所做的更新,即将时间戳添加到另一个工作表或活动工作表中的某处。提前致谢!

解决方法

有些人把它们记在笔记中

function onEdit(e) {
  e.range.setNote(e.range.getNote() + '\n' + new Date());
}
,

创建另一个记录表。在 onEdit 中,您可以将更改的信息记录到工作表中。

以下是示例代码。

function onEdit(e) {
  try{
    var dataSheetName = "Sheet1";
    var logSheetName = "Sheet2";

    if ( SpreadsheetApp.getActiveSheet().getName() !== dataSheetName ){ // check it is the target sheet name
      return;
    }
    var range = e.range;
    var row = range.getRow();
    var col = range.getColumn();
    if ( row < 3 || col !== 2 ){ // check it is Amount cell.
      return;
    }

    var spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
    var dataSheet = spreadSheet.getSheetByName(dataSheetName);
    var logSheet = spreadSheet.getSheetByName(logSheetName);
    var nextRow = logSheet.getLastRow() + 1;

    // set timestamp
    logSheet.getRange(nextRow,1).setValue(new Date());
    // copy data
    var srcRange = dataSheet.getRange(row,1,2);
    var dstRange = logSheet.getRange(nextRow,2,2);
    dstRange.setValues(srcRange.getValues());
  }
  catch(e){
    Browser.msgBox(e);
  }
}

我制作了一个示例电子表格,您可以随意复制一份并检查其行为。 https://docs.google.com/spreadsheets/d/1g0pL7hwuzaS5Yr7Dh7hm_SyRG5TYxwwrlND2Zx3Bo7w/edit?usp=sharing