Google Sheet - 当修改特定工作表上的任何单元格时添加时间戳

问题描述 投票:0回答:3

我有一个 Google 表格文件,其中有许多选项卡(工作表)。我想要做的是在更新或修改特定页面上的任何单元格时放置一个时间戳。

工作表名称=“数据仪表板”
在“数据仪表板”上放置时间戳的单元格是 B1。

我想知道在编辑时更新时间戳的工作表上的时间戳是否会创建一个循环,这样我就可以排除第 1 行并只监视剩余的行和列。

这是我的出发点:

function onEdit(e) {
  var col = e.range.getColumn();
   if(col == 1, 2, 3, 4, 5, 6) {
    e.source.getActiveSheet().getRange(1,2).setValue(new Date())

这将时间戳放在正确的位置,并且当我修改 A-F 行中的任何内容时,它就会起作用。但它适用于所有工作表,我需要将其限制为单张工作表。任何帮助将不胜感激!

javascript google-apps-script google-sheets timestamp comma-operator
3个回答
1
投票

来自问题

我想要做的是在更新或修改特定页面上的任何单元格时放置时间戳。

工作表名称=“数据仪表板”
在“数据仪表板”上放置时间戳的单元格是 B1。

通过 Google Sheets UI 进行任何编辑时都会触发 onEdit 触发器,以限制时间戳的写入仅在编辑特定工作表时执行,那么您应该添加一个条件语句,即 if 语句。

function onEdit(e){
  /* Using a conditional operator to assign the active sheet 
     when this function is ran without providing an event object, i.e. 
     when running from the script editor */
  const sheet = e ? e.range.getSheet() : SpreadsheetApp.getActiveSheet(); 
  if(sheet.getName() === 'Data-Dashboard'){
    sheet.getRange('B1').setValue(new Date();
  }
}

关于您的起点以及它在编辑 A-F 列时起作用,值得注意的是,在评估所有部分时,只有最后一部分被视为 if 语句的条件,在本例中为 6,这是一个 truthy 价值,意味着永远都是真的。以下版本包含仅在编辑数据仪表板表中的 A 至 F 列时记录时间戳的条件。

function onEdit(e){
  /* Using a conditional operator to assign the active sheet 
     when this function is ran without providing an event object, i.e. 
     when running from the script editor */
  const sheet = e ? e.range.getSheet() : SpreadsheetApp.getActiveSheet(); 
  if(sheet.getName() === 'Data-Dashboard' && e.range.columnStart <= 6){
    sheet.getRange('B1').setValue(new Date();
  }
}

参考文献

相关


0
投票

试试这个:

function onEdit(e) {
  const sh = e.range.getSheet();
  var col = e.range.getColumn();
  if (sh.getName() == "Your Sheet Name" && e.range.columnStart < 7 && e.range.rowStart > 1) {
    sh.getRange(1, 2).setValue(new Date());
  }
}

0
投票

你实际上可以只使用谷歌表格来做到这一点......我从 YouTube 视频中得到它。

基本上

=ifs(A1<>true,"",G1<>"",G1,1*1,now())
现在每次您选中A1中的复选框时,它都会在G1中的更改上加上时间戳

它会提示循环依赖错误,因此只需将其打开(文件-->设置-->计算并设置为 1。太棒了...我用它来为我的账单/待办事项列表添加时间戳。

Screenshot

https://www.youtube.com/watch?v=6t8kzpqf_vc

© www.soinside.com 2019 - 2024. All rights reserved.