如何在一张纸中放置两种不同类型的时间戳?



我需要在一张纸中使用以下两种类型的时间戳。

  1. 当同一单元格中的任何单元格更新时,一个单元格中的时间戳 工作表(非工作簿(
  2. 单元格
  3. /列集的单元格时间戳。

我用于第一个时间戳的脚本是:

function onEdit(e) {
e.source.getActiveSheet()
.getRange('G2')
.setValue(new Date()).setNumberFormat("dd-MMM-yy at HH:mm");
}

我用于第二个时间戳的脚本是:

function onEdit(e) {
if ([3].indexOf(e.range.columnStart) != -1) {
e.range.offset(0, 3).setValue(new Date());
}
}

问题是,上面的脚本不能协同工作。他们冲突。这个问题有什么解决方案吗?

是否可以组合两个脚本?或者是否可以通过任何公式而不是脚本?

找到具有编辑权限的工作表。

感谢任何帮助。

谢谢

我不确定您遇到了什么问题。您是否尝试过将它们物理组合?然后,您可以在第一个语句中添加一个if语句,以确保如果编辑的单元格位于特定工作表上,则它只会输入时间戳。(这样它就不会在编辑电子表格上的任何单元格时更新(

function onEdit(e) {
var sheet = e.source.getActiveSheet()
if (sheet.getName() === "Sheet Name"){
sheet.getRange('G2').setValue(new Date()).setNumberFormat("dd-MMM-yy at HH:mm");
}
if ([3].indexOf(e.range.columnStart) != -1) {
e.range.offset(0, 3).setValue(new Date());
}
}

您的触发器可以安装吗?

在这种情况下,您应该为函数指定不同的名称,因为可安装触发器适用于项目中的所有.gs文件,如果项目中有两个同名的函数,即使它们位于不同的.gs文件中,也会导致问题。

无论如何,如果你想 执行不同的任务onEdit(),您应该将它们全部组合在一个onEdit()函数中,如前所述。

最新更新