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

Excel公式使用mid从单元格中获取数字并转换为日期?,excel,Excel,我在a列中有一个12位数字,如下所示: Column A 041120121601 在这个数字中有一个日期201216或20/12/16 我正在尝试使用mid从数字中获取日期: =MID(B8,5,6) 我现在得到的结果是:201216 我正在尝试将其格式化为如下日期: 20/12/2016 以下是我尝试过的: =TEXT(D8, "00-00-00") 这给了我这样的信息: 20-12-16 这很接近,但我需要它是20/12/16您可以分割中间的并在每个数字之间强制使用日期分

我在a列中有一个12位数字,如下所示:

Column A
041120121601    
在这个数字中有一个日期201216或20/12/16

我正在尝试使用mid从数字中获取日期:

=MID(B8,5,6)
我现在得到的结果是:201216

我正在尝试将其格式化为如下日期:

20/12/2016
以下是我尝试过的:

=TEXT(D8, "00-00-00")
这给了我这样的信息:

20-12-16

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

您可以分割中间的
并在每个数字之间强制使用日期分隔符,然后将其包装为
DATEVALUE
,然后将其格式化为日期

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

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

因此,让我们首先将单元格转换为一个数字,然后使用
“000000000000”
格式返回文本:

=Text(Value(A1),"000000000000")
然后应用
DateValue
公式和Tim描述的三个
Mid
函数


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

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

日期总是在相同的位置或者是可变的?很好的uncode>=DATEVALUE(MID)(TEXT(E2),“000000000000”)、5,2)和“/”和MID(文本(值(E2),“000000000000”)、7,2)和“/”和MID(文本(值(E2),“000000000000”)、9,2))