Answers:
您可以尝试添加Google Apps脚本来捕获单元格的编辑时间,并将时间戳记添加到其他单元格。这是以前的类似答案: Google Spreadsheet Timestamp?
function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
if( s.getName() == "Sheet1" ) { //checks that we're on the correct sheet
var r = s.getActiveCell();
if( r.getColumn() == 13 ) { //checks the column
var nextCell = r.offset(0, 1);
if( nextCell.getValue() === '' ) //is empty?
var time = new Date();
time = Utilities.formatDate(time, "GMT", "HH:mm:ss");
nextCell.setValue(time);
};
};
}
=iferror(A1+B1+C1+D1+J1+K1+L1+"x",today())
只要该行中的单元格发生更改,公式就会重新计算。等式中带有“ x”的元素保证了错误。作为回报,返回日期。
这是我的脚本,在此信息的最后一栏中输入:
插入到单元格中(在您要修改的行的最后一个单元格= lastcolumn中)-GMT -3中的日期,如果要将其放置在其他TZ中,只需为并发时区修改-3。如果要将日期自动放入默认的TZ,只需修改以下内容:
var date = Utilities.formatDate(new Date(), "GMT-3", "dd/MM/yyyy HH:mm");
to
var date = Utilities.formatDate(new Date());
与修改它的单元格+用户一起插入评论。
更新某些内容时会显示一个弹出窗口。仅显示给ActiveUser。
function onEdit(event)
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var actSht = event.source.getActiveSheet();
var actRng = event.source.getActiveRange();
var index = actRng.getRowIndex();
var dateCol = actSht.getLastColumn();
var lastCell = actSht.getRange(index,dateCol);
var date = Utilities.formatDate(new Date(), "GMT-3", "dd/MM/yyyy HH:mm");
lastCell.setValue(date);
lastCell.setComment("Ultima Modificacion: " + actRng.getA1Notation() +' por '+Session.getActiveUser());
ss.toast('Ultima Modificacion = '+ actRng.getA1Notation()+' por '+Session.getActiveUser());
}
这是一个使用标题查找列的版本,而不是对列号进行硬编码,并使用自定义时区:
function updateModified(options) {
var sheet = SpreadsheetApp.getActiveSheet();
if (options.sheetName && sheet.getName() != options.sheetName) {
return;
}
var modifiedColumnName = options.modifiedColumnName || 'Modified';
var header = sheet.getDataRange().offset(0, 0, 1).getValues()[0];
var modifiedColumn;
for (var i=0; i < header.length; i++) {
if (header[i].trim() == modifiedColumnName) {
modifiedColumn = i + 1;
break;
}
}
if (typeof modifiedColumn != 'number') {
throw new Error("Can't find column with name: " + modifiedColumnName);
}
var activeCell = sheet.getActiveCell();
if (activeCell.getColumn() == modifiedColumn) {
return;
}
var modifiedCell = sheet.getRange(activeCell.getRow(), modifiedColumn);
var formattedDate = Utilities.formatDate(new Date(), "America/Los_Angeles", "M/dd/yy HH:mm");
modifiedCell.setValue(formattedDate);
}
function onEdit() {
updateModified({sheetName: 'Jobs'});
}
要使用UTC,只需将时区更改为UTC。