Excel公式从中使用单元格获取数字并转换为date?

我在A栏中有一个12位数的数字,如下所示:

Column A 041120121601 

在这个数字中,有一个date201216或20/12/16。

我试图从中期使用数字来获取date:

 =MID(B8,5,6) 

我现在得到这个结果:201216。

我试图格式化为这样的date:

 20/12/2016 

这是我试过的:

 =TEXT(D8, "00-00-00") 

这给了我这个:

 20-12-16 

这很接近,但我需要它是20/12/16

好吧,如果它以0开头,Excel不会认为这是一个数字。 它认为这是文字。 这一点很重要,因为有一天有人会复制和粘贴input数据,Excel将自动将它们转换为数字,并且您的公式将因为现在缺less前导0而中断。

所以,我们先把单元格转换成一个数字,然后回到带有"000000000000"格式的文本中:

 =Text(Value(A1),"000000000000") 

然后按照Tim的描述,将三个Mid函数应用DateValue公式。

(或者你的input数据是“000000000000”格式的数字,但有点不寻常。)

你可以拆分MID并在每个数字之间加上一个date分隔符,并将其包装在DATEVALUE ,然后格式化为date。

 =DATEVALUE(MID(B8,5,2)&"/"&MID(B8,7,2)&"/"&MID(B8,9,2)) 

如果它总是相同的字符数,那么=MID(TRIM(A1),4,2)& "/" & MID(TRIM(A1),6,2) & "/" & MID(TRIM(A1),8,2)