我在 Excel 电子表格中有一些列,如下所示:
Name Date Time
我希望当用户将名称添加到第一列(A 列)时,Date and Time 列会自动添加写入名称的日期和时间。这会记录在 A 列中输入的时间.
有没有办法自动填写这些数据?
我在 Excel 电子表格中有一些列,如下所示:
Name Date Time
我希望当用户将名称添加到第一列(A 列)时,Date and Time 列会自动添加写入名称的日期和时间。这会记录在 A 列中输入的时间.
有没有办法自动填写这些数据?
(此答案基于 如何在 Excel 中快速插入日期和时间戳一文,您将在其中找到更多带有屏幕截图的信息。)
使用 Excel 公式,几乎不可能自动插入在重新计算工作表时不会更改的时间戳。但是,存在一种解决方法,即在滥用 Excel 的一个公式计算功能的同时使用公式。
这个被滥用的特性是 循环引用,即一系列计算以永无止境的方式编写。例如,设置单元格
A2=A1+A2
将导致单元格 A2 的值不断增加,只要该值继续重新计算。第 1 步:启用有限迭代计算
1
很好)现在 Excel 将重新计算循环引用,但会在一定数量的计算后停止。
第二步:输入循环公式
假设要在 A 列中输入值,从 A2 开始,时间列在 B 列中。
公式将是:
=IF(A2<>"",IF(B2<>"",B2,NOW()),"")
在 A 列输入值时,时间戳会自动出现在相邻的 B 列单元格中,并且在以后修改 A2 单元格时不会更新。
替代修改日期
上述方法适用于将 B2 列设置为在 A2 中输入第一个值的时间。
变体公式适用于每次修改 A2 列时都更新时间的情况。
使用这个公式:
=IF(A2<>"",IF(AND(B2<>"",CELL("address")=ADDRESS(ROW(A2),COLUMN(A2))),NOW(),IF(CELL("address")<>ADDRESS(ROW(A2),COLUMN(A2)),B2,NOW())),"")
您可以使用 VBA 执行此操作,如下所示:
将此代码放在您正在处理的工作表的工作表代码中:
将 MyRnge 更改为您要覆盖的范围。更改日期和时间格式以适应更改偏移量 1 以反映您希望日期/时间出现的列。在所选列中键入事件: