我正在尝试在Excel文档中使用以下公式:= IF(C2 ="","",NOW())。我只是尝试捕捉单元格填充的时间。我遇到的问题是,每次一个公式更新,它们都会更新。
例如,如果我有两个公式:
=IF(C2="","",NOW())
=IF(C3="","",NOW())
如果我更新C3,与C2相关的公式也会更新。所以我的时间总是与最后更新的单元格相同。当只有依赖单元格更新时,我无法使它们更新。
还有一件事需要注意,这个电子表格正在MS Teams中使用,所以宏不是一个选项。
是否存在我可能不正确的设置?或变通方案?
先谢了!
3条答案
按热度按时间aydmsdu91#
你研究过Office脚本吗?它们的工作原理很像VBA中的宏,但它们是用于Excel Online的。
https://learn.microsoft.com/en-us/office/dev/scripts/overview/excel
mbzjlibv2#
由于
=NEW()
始终返回当前时间,并且您无法控制何时重新计算工作表,因此该行为是意料之中的。处理这种情况的最佳方法是在工作表更新时运行一个宏,该宏从当前时间开始向所需单元格中手动写入 * 一个值 *。
例如,如果要跟踪的值在列“C”(第3列)中,则以下代码将在该值每次更改时写入相邻单元格(上一列)的当前时间。
将下面的代码放在工作表下面
上面的代码在设置时间戳之前检查是否已经填充了时间戳。
m0rkklqb3#
试试这个:
根据需要向下拖动C列。
注意:您需要为公式启用迭代计算(选项-〉公式)。