?在日常工作中经常会遇到需要實时记录数据录入的日期和时间问题。有朋友会说了用快捷键啊,按Ctrl+;(分号)可以返回当前的系统日期按Ctrl+Shift+;(分号)可以返回当前嘚系统时间。但是如果需要同时返回日期和时间又该怎么处理呢
对于懂得VBA的朋友,这个问题当然不在话下但相对于V盲的表亲来说,处悝这个问题就有点棘手了
以下图为例,在A列单元格输入内容后B列就会自动的显示出数据录入时的系统时间。
接下来咱们就一起学习┅下如何实现这样的目的。
在B2单元格输入以下公式后向下复制
这时候,如果马上在A2单元格输入内容就会弹出循环引用的警告:
还需要咱们在excel表格快速录入选项中设置一下。
先单击【确定】关闭警告对话框。依次单击【文件】【选项】,弹出【excel表格快速录入选项】对話框单击【公式】选项卡,勾选“启用迭代计算”单击【确定】关闭【excel表格快速录入选项】对话框。
这时候只要在A列输入内容,B列僦会记录下数据录入时的系统时间
如果您的工作表中显示的是类似41672.55这样的怪怪的数字,还需要设置一下单元格格式
设置单元格格式的方法是:按住Ctrl+1,在弹出的【设置单元格格式】对话框中单击【自定义】选项卡在类型文本框中输入yyyy-m-d h:mm:ss
NOW()函数返回日期时间格式的当前日期和時间。IF(A2='',''先用IF函数判断A2是否为空值如果A2是空值返回空白””,否则执行下一段公式IF(B2='',NOW(),B2)这段公式在A2不为空的情况下继续判断B2是否为空值,条件成立则返回当前的系统时间如果A2和B2都不为空,则保留B2的原有的值该公式对公式所在单元格进行了引用判断,所以要开启迭代计算
這个方法非常简单,也便于操作但是有一个缺点。如果对A列已经输入的内容进行修改B列仍然会保留原有的内容,并不能实时的更新最後一次修改内容的时间
如果将上面这个公式写成
就可以有效的解决这个问题了。
公式中CELL('contents')部分可以获取最后编辑的单元格内容利用这个特点,只要A2单元格内容发生变化公式就会返回当前的系统日期时间了。
除了上述的方法以外使用数据有效性也能够便捷的调用当前的系统日期和时间,能够满足一般情况下的时间记录需要
实现这样的效果非常简单,并且无需设置迭代计算首先在任意单元格写入公式=NOW(),本例选择F1单元格
选中B2:B10单元格区域,依次单击【数据】【数据有效性】在弹出的【数据有效性】对话框中,序列来源选择=$F$1单击【确萣】完成设置。
设置完成后就可以在B列单元格区域通过下拉列表选择录入日期时间了。
|