之前本站小编分享过一个记录数据录入时间的技巧,有同学说了,这个不过瘾啊,能不能输入数据后,自动生成时间的呢。

这个可以使用VBA代码的方法来解决,也可以使用公式实现。下面就和大家说说公式实现动态记录Excel数据录入时间的步骤:
依次单击【文件】【选项】【公式】,勾选【迭代计算】。

在B2单元格输入以下公式:
=IF(A2="","",IF(CELL("contents")=A2,NOW(),B2))

Cell函数可以返回单元格的信息,参数使用"contents",就是获取最后活动单元格的内容。
公式的意思是:如果A2为空,就显示为空白,如果最后活动单元格的内容等于A2,就返回当前的时间,否则仍然等于B2单元格的内容。
接下来选中B列数据区域,设置单元格格式:
h"时"mm"分"ss"秒"

好了,现在试试吧:
只要在A列输入数据后按回车结束,B列就可以显示当前的系统时间了。

这个公式有一个缺陷,如果在其他区域中输入和A列相同的内容,B列的时间也会发生变化。
假如不需要在其他区域中输入内容,使用这个公式就可以满足要求。如果在其他区域也要输入数据,可以试试下面这个:
=IF(A2="","",IF((CELL("contents")=A2)*(CELL("col")=1)*(CELL("row")=ROW()),NOW(),B2))
Cell函数使用"col"和"row"做参数,获取的是最后活动单元格的列号和行号信息。
公式的意思是:如果A2为空,就显示为空白,如果最后活动单元格的内容等于A2,并且最后活动单元格的行号和列号都等于左侧单元格(A2)的行号列号,就返回当前的时间,否则仍然等于B2单元格的内容。