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