我有一张如下所示的表格:
我想要实现的是,当您填写一行(“时间”部分除外)时,“时间”列会自动填充。然后,无论表格如何更改,它都会永远保持不变。我现在拥有的是:
=IF(E3="", IF(COUNTBLANK(A2:D2)=0, NOW(), ""), E2)
这在某种程度上是有效的,因为它会在您填写完一行时设置日期,并且日期不会改变;但是,在表格的最后一行,日期仍会改变,直到创建新的最后一行。但是,我需要日期与填写完一行后的日期完全相同。
我尝试添加辅助列并SUMPRODUCT
跟踪要更新的内容和时间以及要保持不变的内容,但没有任何效果;因此,我恢复了上述公式大多除了最后一行(如前所述)以外,其他均有效。
如果您有任何想法,请告诉我。正如标题所示,我不能使用宏。
答案1
由于您已将解决方案的范围限制为非 VBA,在这种情况下我想建议一个有点棘手的解决方案。
怎么运行的:
- 在输入公式之前,单击,,
- 文件,选项然后公式和勾选启用迭代计算并设置最大迭代值为 1000。
- 完成好的
- 设置适当时间格式对于所需的数据范围。
在单元格中写入此公式E1
并向下填充。
=IF(COUNTBLANK(A1:D1)<>0,"",IF(E1="",NOW(),E1))
笔记,除非您不删除任何值并在单元格中租用新的值,否则时间将保持不变。(如有修改,时间不变)。