[英]AutoTimeStamp based on multiple cells
我有一个文档,当从 B 列到 G 列的任何单元格中输入数据时(从第 4 行开始),我希望 A 行有一个时间戳,表明该数据何时开始并且不更改。 但是,如果该行被清除,我希望删除时间戳并能够重新输入新数据。 我在多张纸上使用它。 我做了 IFS function 并且它有效,但是人们正在覆盖和删除它,所以我正在尝试编写脚本。 我尝试修改了一些我在网上找到的脚本,并使用了一些我记得的大学时代的东西,但效果并不好,我需要一些帮助。 谢谢!
function onEdit(e) {
var ss = SpreadsheetApp.getActiveSheet();
var range = ss.getRangeList(['B4:B', 'C4:C','D4:D','E4:E', 'F4:F', 'G4:G']);
if ( e.range) return;
e.targetColumn = 1
.setValue (new Date("HH:mm"));
}
function onEdit(e) {
if ( e.range.columnStart !== 2 && e.range.columnStart !== 3
&& e.range.columnStart !== 4 && e.range.columnStart !== 5
&& e.range.columnStart !== 6 && e.range.columnStart !== 7) return;
e.range.targetColumn = 1
.setValue(new Date());
}
(更新)试试这个:
function onEdit(e) {
const sh = e.range.getSheet();
if (sh.getName() == "Your sheet name" && e.range.columnStart > 1 && e.range.columnStart < 8 && e.range.rowStart > 3) {
if(sh.getRange(e.range.rowStart,2,1,sh.getLastColumn() -1).isBlank() ) {
sh.getRange(e.range.rowStart(),1).clearContent();
} else {
sh.getRange(e.range.rowStart,1).setValue(new Date());
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.