Excelmacros来格式化date
我有一个在Excel文件中的string值的列。
Col A 20131022082702 20131022082702 20131022082739 20131022082739
我想将每个单元格值转换为date格式,例如YYYY/MM/DD HH:MM
20131022082702 // should be formatted as 2013/10/22 08:27
我只是想知道是否有任何内置函数,我们可以使用某种macros来格式化它?
我能想到的一种方法是在子macros中编写子string和编写自定义逻辑。 任何其他的工作,将非常感激!
感谢您的时间。
如果您使用TEXT
工作表函数,则可以将其格式化为date/时间戳,Excel会将其转换为“真实”值。 您可以按照自己的意愿格式化:
=--TEXT(A1,"0000\/00\/00 00\:00\:00")
编辑 :在VBA中,可以使用这一行来进行转换。 类似的algorithm,但使用本机VBAfunction:
cdate(format(N,"0000 00 00 00:00:00"))
N
是你的14位数字
比@罗恩的回答更啰嗦,但另一种方法是将string分离出来:
=TEXT(DATE(MID(A1,1,4),MID(A1,5,2),MID(A1,7,2))+TIME(MID(A1,9,2),MID(A1,11,2),MID(A1,13,2)),"dd/mm/yyyy hh:mm")