在Googlesheet的sheet1中,我有F列包含需要经常更改的数据。在 F 列的任何行中完成任何数据编辑时,必须在相应行的 G 列中插入时间戳。然后,H 列连接 G 列中的时间戳,以便与 F 列中的内容一起生成。现在,刚刚创建的 H 列的数据必须粘贴到 sheet2 中并继续附加到 sheet2 中,以便在 sheet2 中为 F 列中的每个编辑创建一个日志文件。
function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
if( s.getName() == "sheet1" ) {
var r = s.getActiveCell();
if( r.getColumn() == 6 ) {
var nextCell = r.offset(0, 1);
nextCell.setValue(new Date());
}}}
我对编码了解不多。到目前为止,我已经设法在 G 列中创建时间戳,但我无法进一步做。
- 你需要从
r
和nextCell
中检索值,你可以用getValue((来做 - 您可以通过简单地将它们与
+
相加来连接这些值 - 您可以使用getLastRow((检索
sheet2
的最后一行 - 您可以使用
setValue(lastRow+1, COLUMNNUMBER);
将工作表 1 中 H 列中的内容附加到 H 列(或您选择的任何列(中的第一个空行
根据您的代码,您可以进行以下修改:
function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
if( s.getName() == "sheet1" ) { //mind the case sensitivity!
var r = s.getActiveCell();
var col=r.getColumn();
if( col == 6 ) {
var nextCell = r.offset(0, 1);
var thirdCell = r.offset(0, 2);
nextCell.setValue(new Date());
thirdCell.setValue(nextCell.getValue()+" "+r.getValue());
var s2=SpreadsheetApp.getActive().getSheetByName("sheet2");
var lastRow=s2.getLastRow();
s2.getRange(lastRow+1, 8).setValue(thirdCell.getValue());
}
}
}