实时自动输入时间以及日期格式转换

客户回访表、电子签到表等一般需要根据数据记录实时输入时间,譬如是下午5点32分登记回访的,回访时间在登记时自动录入2018/11/08 17:32。怎么做到呢?

1)VBA法——第12种

某公司售后服务部有一张售后服务回访登记表,需要每回访完一客户后,就在下表登记填入相关信息,且要记录回访时间。能否稍微减轻点录入信息的工作量呢? 


暂时想做到的是回访时间能在录完前面信息时就可自动获取电脑系统当前时间,且不随系统时间的变化而变化。此时头脑反应出的就是搬弄下VBA,哈哈。

操作步骤如下:

(1)在当前工作表下,按组合键,打开VBA编辑窗口,然后在左侧对应的Sheet上双击,右侧空白处粘贴下面的代码:

Private Sub Worksheet_Change(ByVal Target As Range)   '编辑单元格后触发事件

If Target.Column = 3 Then   '如果选择的单元格列值等于3时

Target.Offset(0, 1).Value = Format(Now, "yyyy-mm-dd hh:mm")  '表示以目标单元格为基准向列数增加一列的新单元值输出当前系统时间,且不发生变化

End If

End Sub

(2)然后关闭窗口,就可以实现回访完随即录入客户信息就可获取当前回访时间,且时间不发生变化。不信的话就看下面动画演示。 



2)函数法:IF+NOW函数——第13种

除了VBA,还有没其他方法也可实现时间的自动记录呢?用下表登记员工签到的时间作为例子。 



操作步骤如下:

(1)设置公式的迭代计算

在“文件”选项卡下打开“选项”,在“公式”选项卡内勾选“启用迭代计算”,其他默认,然后点击“确定”。为何启用迭代?因为我们后面的公式采用了循环引用,只有启用迭代才能正常运行。 
启用迭代计算

(2)录入公式。在D3单元格输入公式——=IF(C3="","",IF(D3="",NOW(),D3)),并向下复制公式。 


(3)修改时间格式。因D列是常规格式,此步需要将D列修改为精确的时间格式。选中D列数据区域,在单元格格式中设置数据类型为日期,类型为“2001/3/14 13:30”。 
修改日期类型

此时,我们在C列输入“完成”时,D列就会自动出现当前的录入时间。 


上述VBA和IF+NOW公式函数方法对解决一些需要准确及时记录时间的表格非常有帮助。赶紧动手练一练吧。

上面分享的都是日期的输入,下面再分享三个日期输入后的格式调整方法。

快速更换日期格式

1)长短日期格式快速切换

 短日期2018/1/10 和长日期2018年1月10日的格式切换,最快捷的方法是通过“开始”选项卡/“数字”选项组中选择短日期或者长日期进行切换。 
长日期

2)Ctrl+1自定义格式

通过Ctrl+1自定义格式,可以快速把日期变成自己想要的格式。记住:在日期格式中,Y代表年,M代表月,D代表日。如下两个例子。


改成:2018-10-8格式 
年月日
改成:2018.10.8格式 
年月日


3)Text函数法改格式

此外,通过Text函数也可以实现多种日期格式的快速转换,公式用法为:Text(单元格,转换后的格式),具体例子见下表。
Text函数法改格式