ARTICLE · 1304431
我只在A列填了个名字,Excel居然自己把时间记上了
做数据录入工作的朋友,一定都被这件事折磨过:想要记录每一行数据被录入的时间,是用手动输入还是使用NOW()函数来实现呢?如果选择了前者的话,第二天打开表格的时候所有的日期都会发生变化,昨天的记录直接报废。
其实Excel可以自己完成这项工作,但是它的开启方式比较隐蔽。
即 A 列为姓名,B 列自动产生日期时间,在更改 A 列的数据时,B 列的日期都不会发生变化。
3 步就能搞定。
第一步:开启迭代计算
点击“文件”,再点击“选项”,最后在打开的新窗口中勾选上“启用迭代计算”。

原理很简单,后面的公式存在循环引,不打开的话,就会直接报错。
第二步:设置时间格式
选中B列的区域,按下Ctrl+1打开格式设定对话框,自定义类型输入:
yyyy/mm/dd hh:mm:ss

日期、时间、时刻都齐全。
第三步:输入公式
在 B2 输入:
=IF(A2="","",IF(B2="",NOW(),B2))

按下回车键,再往下拉填充这一列的所有内容,做完之后。
公式逻辑拆解一下:
❶第一层IF:如果A列为空的话,那么B列也是为空;只有当A列不为空的时候,才会进行下一级判断。
❷IF(B3="",NOW(),B3):B列没有时间,用现在的时间代替并加上;有日期的话,就保留原来的日期不再改变。
就是这个“自己引用自己”的方式,使时间固定于被录下的那一刻,因此要开启迭代计算。
两个重要提醒:
❶ 迭代计算要打开,否则公式就无法正常工作。
❷ 时间只能生成一次,在A列中进行修改是不会更新的——别慌,这就是我们要达到的效果。
顺便说一下:NOW() 是获取到系统的实时时间的函数,在表格更新的时候都会随之变化,套上今天这个公式,才能让它静止不动。
下次做登记表,不要发出“吭哧吭哧”的声音来输入日期,可以打开开关,让Excel为你完成这项工作。















































































