插入单个选项卡上次更新的日期/时间(谷歌工作表)



我在Google Sheets中有一个数据面板,它综合了来自几个不同数据源的数据。这些数据源被放入同一个Google Sheet文件中,每个文件都位于不同的选项卡上。不同的团队成员负责更新每个单独的数据选项卡,这是通过从各种程序中提取报告并将新数据粘贴到各自的数据选项卡中来完成的。注意:我意识到从不同程序的报告中粘贴数据的过程效率很低。不幸的是,我们使用的系统并不都能相互通信,所以这是迄今为止我们发现的分析系统数据的最佳方式

目标:我希望在每个数据选项卡上都有一个单元格,其中列出单个选项卡(工作表(更新的最后日期和时间。例如,如果我更新选项卡1上的数据,我希望日期/时间戳在选项卡1上更新,但不在选项卡2上更新。只有当我向选项卡2添加新数据时,选项卡2上的日期/时间戳才会更新。

我已经尝试了粘贴在下面的脚本(从这里链接的问题/答案(,它确实更新了选项卡上的日期/时间:

function onEdit(e) {
var s = e.source.getActiveSheet();
var sName = s.getName();
var ar = e.range;
var row = ar.getRow();
var arRows = ar.getNumRows()  
if( ar.getColumn() == 3 && sName == 'Sheet1') { 
s.getRange(row,6,arRows).setValue(new Date()).setNumberFormat("MM/dd/yyyy hh:mm");
}
}

问题是,当我更新选项卡2上的数据时,它更新选项卡1上的日期/时间。

我应该使用什么脚本,以便它只在更新选项卡1上的数据时更新选项卡1的日期/时间?当更新选项卡2上的数据时,会更新选项卡2的日期/时间吗

更改用户编辑的每个工作表中的日期单元格A1

function onEdit(e) {
var sh = e.range.getSheet();
sh.getRange(1,1).setValue(new Date()).setNumberFormat("MM/dd/yyyy hh:mm");
}

如果您希望排除某些工作表:

function onEdit(e) {
const excl = ['Sheet1','Sheet2'];
var sh = e.range.getSheet();
if(~excl.indexOf(sh.getName()))return;//this could allow you to exclude some sheets
sh.getRange(1,1).setValue(new Date()).setNumberFormat("MM/dd/yyyy hh:mm");
}

在这种情况下,我选择了A1

最新更新