1

当状态显示“完成”时,我想在 C 列中打印时间戳。但是,当我使用该NOW()功能时,它会在其他单元格发生变化时不断更新单元格。我在 Cell 中的公式C4=IF(B4="Complete",NOW(),""). 这个公式不能解决自动更新的问题。我可以知道有没有办法处理这种情况?如果 Google App Script 是唯一的方法(希望不是),我应该如何编码(第一次处理 JavaScript)?

4

2 回答 2

1

NOW()在 Google 表格中,除了用它的值替换它之外,没有办法停止重新计算。

实现您正在寻找的最佳方法是使用 Google Apps 脚本,更具体地说,您必须使用 on edit 触发器。以下是基于问题中包含的屏幕截图中显示的示例:

function onEdit(e){
  if(e.range.columnStart === 2 && e.range.rowStart >= 4 && e.value === 'Complete'){
     e.range.offset(0,1).setValue(new Date());
  }
}

请阅读使用 Apps 脚本扩展 Google 表格。这是一个非常简短的指南,可帮助您开始将 Google Apps 脚本与 Google 表格结合使用,并为您提供学习 JavaScript 基础知识的资源。

注意:JavaScript 和 Java 是两种不同的编程语言。

有关的

于 2021-02-04T04:55:54.687 回答
0

您的公式是正确的,但需要更改一些小东西。你应该这样写这个公式 if(C4,C4,if($B4="Complete",NOW(),""))。并转到文件菜单,然后是电子表格设置,然后是计算,然后是重新计算,最后将其更改为“更改时”。

于 2021-04-20T07:23:19.123 回答