热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

自动记录数据录入时间不懂得VBA的朋友可以看看

在日常工作中,经常会遇到需要实时记录数据录入的时间问题。有朋友会说了,用快捷键啊,按Ctrl+;(分号)可以返回当前的系统日期,按Ctrl+Shift+;(分号)可以返回当前的系统

在日常工作中,经常会遇到需要实时记录数据录入的时间问题。

有朋友会说了,用快捷键啊,按Ctrl+;(分号)可以返回当前的系统日期,按Ctrl+Shift+;(分号)可以返回当前的系统时间。

但是如果需要同时返回日期和时间又该怎么处理呢?

对于懂得VBA的朋友,这个问题当然不在话下,但相对于V盲的表亲来说,处理这个问题就有点棘手了。

以下图为例,在A列单元格输入或是修改内容后,B列就会自动的显示出数据录入、更改时的时间。

接下来,咱们就一起学习一下如何实现这样的目的。

B2单元格输入以下公式,向下复制。

=IF(A2="","",IF(A2=CELL("contents"),NOW(),B2))

先简单说一下公式的意思。

NOW()函数返回日期时间格式的当前日期和时间。

先用IF函数判断A2是否为空值,如果A2是空值返回空文本"",否则执行下一段公式:

IF(A2=CELL("contents"),NOW(),B2)

公式中CELL("contents")部分,可以获取最后编辑的单元格内容。

再用IF函数判断,如果A2等于最后编辑的单元格内容,公式返回当前的系统日期时间,否则仍然等于B2原有的值不变。

输入公式后,如果马上在A2单元格输入内容,会弹出循环引用的警告:

先关闭警告对话框。

然后依次单击【文件】→【选项】,在【Excel选项】对话框里单击【公式】选项卡,勾选“启用迭代计算”。

设置完毕,只要在A列输入内容或是对已有的数据进行更改,B列就会记录下数据录入时的时间。

如果您的工作表中显示的是类似41672.55这样的怪怪的数字,记得设置一下单元格格式。

按Ctrl+1,在弹出的【设置单元格格式】对话框中单击【自定义】选项,在类型文本框中输入以下格式代码:

yyyy-m-d h:mm:ss

如果A列录入的数据有重复,使用以上公式就会出现问题了,想一想应该怎么处理呢





推荐阅读
author-avatar
夜沙
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有