Excel使用函数在A列提取最后一个星号后的数字并在B列显示
1034
2022-08-02
在日常工作中,经常会遇到需要实时记录数据录入的时间问题。
有朋友会说了,用快捷键啊,按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列录入的数据有重复,使用以上公式就会出现问题了,想一想应该怎么处理呢
发表评论
暂时没有评论,来抢沙发吧~