无法获取列特定的时间戳以显示在复选框上

时间:2019-04-29 10:23:21

标签: checkbox google-apps-script google-sheets scripting timestamp

我为员工设置了一个Google工作表,单击该复选框会记录当前时间。

勾选该复选框后,我无法在各列中获得特定的时间戳。

点击其他复选框也会更改以前选中的复选框的时间戳。

我在这里使用了这个公式:=If(B2 = TRUE,now(),"") 并使用过滤器手柄将公式应用于下方的其他行。

我使用了以下公式:=If(B2 = TRUE,now(),"") 该工作表可以在此处查看:https://docs.google.com/spreadsheets/d/1p6jmnHXtCu2m7BdLfC-23A51MrwkJJJpXidpbsDwxfU/edit?usp=sharing

我想记录每一行的当前时间戳。 也就是说,单击复选框时,仅对同一行中的列而不是其他记录进行更改/记录当前时间。

1 个答案:

答案 0 :(得分:1)

这需要使用脚本来完成:

function onEdit(e) {
  var s = SpreadsheetApp.getActiveSheet();
  { 
    var r = s.getActiveCell();
    if( r.getColumn() == 2 ) { 
      var nextCell = r.offset(0, 1);
      var newDate = Utilities.formatDate(new Date(), 
      "GMT+1", "dd/MM/yyyy hh:mm:ss");
      nextCell.setValue(newDate);
   }
}

如何向电子表格中添加脚本

  • 转到工具
  • 选择脚本编辑器

    0

  • 复制粘贴脚本

  • 以某个名称保存项目

  • 单击运行图标并对其进行授权...

  • 选择您的帐户

  • 点击高级

  • 选择转到*(不安全)

  • 单击允许并返回到工作表(您可以关闭脚本窗口/选项卡)