Хорошо, вот измененная версия кода в моем предыдущем ответе:
function onEdit(e) {
// Your sheet params
var sheetName = "MySheet";
var dateModifiedColumnIndex = 2;
var dateModifiedColumnLetter = 'B';
var range = e.range; // range just edited
var sheet = range.getSheet();
if (sheet.getName() !== sheetName) {
return;
}
// If the column isn't our modified date column
if (range.getColumn() != dateModifiedColumnIndex) {
var row = range.getRow();
var time = new Date();
time = Utilities.formatDate(time, "GMT-08:00", "MM/dd/yy, hh:mm:ss");
var dateModifiedRange = sheet.getRange(dateModifiedColumnLetter + row.toString());
dateModifiedRange.setValue(time);
};
};
Это захватывает строку любой измененной ячейки и назначает метку времени второму столбцу этой конкретной строки.
Для реализации все, что вам нужно сделать, это перейти в электронную таблицу и нажать Tools
> Script Editor
. В появившейся странице редактора просто вставьте это туда. Поскольку это onEdit()
функция, она должна работать без необходимости добавлять что - нибудь еще к клеткам таблицы, просто вставьте его в редакторе и сохраните его.
Для отметки времени я установил формат MM / dd / yy и оставил время. Если вы хотите изменить это, вы можете просто изменить использование Utilities.formatDate
.