问题描述
我不是 Google 表格方面的专家,但谁能帮助我在特定单元格的每次更新上添加时间戳,好吗?
请检查链接:
假设 B2 是 B4-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