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

问题描述 投票:0回答:3

我不是 Google 表格方面的专家,但任何人都可以帮助我如何 在某个单元格上的每次更新上添加时间戳,好吗?

请检查链接:

假设B2B4-B7的总金额,我想将Acct1100.00更新到600.00,从而自动将B2更新到1500.00。我的问题是,如何跟踪 B2 上所做的更新,即将时间戳添加到另一张工作表或活动工作表中的某个位置。预先感谢您!

datetime google-apps-script google-sheets scripting timestamp
3个回答
1
投票

我有人把它们记在笔记中

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

1
投票

创建另一个表用于记录。并且在

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, 1, 2);
    var dstRange = logSheet.getRange(nextRow, 2, 1, 2);
    dstRange.setValues(srcRange.getValues());
  }
  catch(e){
    Browser.msgBox(e);
  }
}

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


-1
投票

你实际上可以只使用谷歌表格来做到这一点......我从 YouTube 视频中得到它。

基本上

=ifs(A1="","",B1<>"",B1,1*1,now())

它会提示循环依赖错误,因此只需将其打开(文件-->设置-->计算并设置为1。 太棒了...我用它来为我的账单/待办事项列表添加时间戳。

这是视频

© www.soinside.com 2019 - 2024. All rights reserved.