Google sheets 如何将时间戳列附加到存档数据脚本

Google sheets 如何将时间戳列附加到存档数据脚本,google-sheets,Google Sheets,我有这个脚本,每天早上都会更新。是否有方法添加时间戳,以便在处理时自动插入 function archive5() { var sss = SpreadsheetApp.openById('1ji3Q02uOyrDXyrl7LcghWLcLjz-CeSUgSCU7QD0BVEk'); var ss = sss.getSheetByName('Allergen Planner'); var range = ss.getRange('T21:U25') var data = range

我有这个脚本,每天早上都会更新。是否有方法添加时间戳,以便在处理时自动插入

function archive5() {
 var sss = SpreadsheetApp.openById('1ji3Q02uOyrDXyrl7LcghWLcLjz-CeSUgSCU7QD0BVEk'); 
 var ss = sss.getSheetByName('Allergen Planner'); 
 var range = ss.getRange('T21:U25') 
 var data = range.getValues();

 var tss = SpreadsheetApp.openById('1j_Hy2GDKE-5dJVKSeBx0qFIWHOsvZpCTBm-SgPz7MSs');
 var ts = tss.getSheetByName('Post Process Historical Data'); 

 ts.getRange(ts.getLastRow()+1,2,5,2).setValues(data); //you will need to define the size of the copied data see getRange()

}

无论何时更新电子表格,或者电子表格自身更新,都会调用一个更新其数据的函数,对吗?所以你能做的就是使用
ss.getRange().setValue(新日期())

但是,如果您需要更新某些特定但尚未修复的行(例如,C列上的任何行,取决于某些条件),您可以参考,这一点回答得非常好,我做了一些改进


如果没有电子表格或关于您试图实现的目标的更多信息,这是我能帮助您的最好方法。

您可以向
data=range.getValues().map(函数(rowData){return rowData.push(new Date())})添加timeshamp
谢谢,我应该把它放在代码中的什么位置?我对java有些陌生。只需将其包含在第四行变量中?我尝试在包含数据的任何地方输入它,每次“异常:参数(数字[])与SpreadsheetApp.Range.setValues的方法签名不匹配”时我都会出现此消息。推送方法并不是您想要的结果,因此,最好使用以下代码
data=range.getValues().map(函数(arrRow){return arrRow.concat([new Date()])}
您还应该更改用于在最终工作表中插入数据数组的代码,因为在添加带有timeshtamp的列
ts.getRange(ts.getLastRow())后,数组的原始大小会发生变化+1,2,data.length,data[0].length).setValues(data)