使用Excel修复格式问题

我试图通过插入/在正确的位置,将长度为5或6个字符的文本string转换为date。 我很难做到这一点。

我试着用谷歌search这个,我尝试使用Cdate或

=IF(LEN(A1)=5,DATE(RIGHT(A1,2),LEFT(A1,1),MID(A,2,2)),0) 

但他们不会返回正确的date,因为它假定数据已经是正确的date。 这似乎应该是如此简单。 如果不使用excel,只需input2点中的/并将其转换为正确的date即可。

例如,我可能在A1中有一串文字,如:

 80715 80715 80715 122515 122515 122515 

我想要发生的是:

 8/07/15 8/07/15 8/07/15 12/15/15 12/15/15 12/15/15 

我在想什么(如果没有更简单的解决scheme)是有一个用户inputdate前,然后填写范围,即:

 Dim Input1 As Date Input1 = InputBox("Please Enter the Date", "Input1", 0) Range("A1").Value = Input1 

但肯定有一个更简单的方法吗? 请帮助我杰出的天才。

试试这个公式:

'只有string:

 =LEFT(RIGHT("0"&A1,6),2) & "/" & MID(RIGHT("0"&A1,6),3,2) & "/" & RIGHT(RIGHT("0"&A1,6),2) 'as date: =DATEVALUE(LEFT(RIGHT("0"&A1,6),2) & "/" & MID(RIGHT("0"&A1,6),3,2) & "/" & RIGHT(RIGHT("0"&A1,6),2)) 

您可以使用该值的长度来确定该月份使用多less个数字,以及从哪里开始提取当天:

 =DATE(2000+RIGHT(A1,2),LEFT(A1,LEN(A1)-4),MID(A1,LEN(A1)-3,2)) 

这将适用于2000年或以后的date,因为您的string值只包含年份的两位数字。

由于这将返回一个date值,请确保您的单元格被格式化为date以查看正确的datestring。