如何转换此格式的字符串;20180101“;在Excel中输入日期值,如2018年1月1日?

如何转换此格式的字符串;20180101“;在Excel中输入日期值,如2018年1月1日?,excel,excel-formula,Excel,Excel Formula,我可以使用什么公式将字符串转换为显示为2018年1月1日的日期值 使用DATEVALUE()函数,该函数以文本格式作为输入。并不是说,如果您的输出单元格不是日期格式,您将看到一个简单的int,而不是预期的1/1/2016 我建议您参考DATEVALUE函数文档,以了解有关输入格式的更多信息,如使用数据、TextToColumns、固定宽度、日期:YMD、Finish等。可能是Date:YDM,具体取决于字符串日期格式(您提供了一个模棱两可的示例) 如果您试图从一个公式到另一个单元格,而不是在原位

我可以使用什么公式将字符串转换为显示为2018年1月1日的日期值

使用DATEVALUE()函数,该函数以文本格式作为输入。并不是说,如果您的输出单元格不是日期格式,您将看到一个简单的int,而不是预期的1/1/2016


我建议您参考DATEVALUE函数文档,以了解有关输入格式的更多信息,如使用数据、TextToColumns、固定宽度、日期:YMD、Finish等。可能是Date:YDM,具体取决于字符串日期格式(您提供了一个模棱两可的示例)

如果您试图从一个公式到另一个单元格,而不是在原位(根据吉佩德的回答,使用“文本到列”),您可以组合
日期
中间
,或者使用
替换
并转换为
+0
日期值

=DATE(MID(A1,1,4), MID(A1,5,2), MID(A1,7,2))

(其中,
A1
是转换日期)

第一个公式只是将数字向上切割为2018年,并将其用作年、月和日。第二个2首先在位置7(
“201801-01”
)和位置5(
“2018-01-01”
)插入连字符(即
替换
0个字符),然后将字符串转换回数字/日期。

使用下面的代码

=RIGHT((text),2)&"/"&MID((text),5,2)&"/"&LEFT((text),4)

我已经这样做了,它将我的字符串按这种格式分为3列:Column1:2018;第2列:1/第3列:1。它没有将其转换为日期值。您需要删除第二个对话框屏幕上的额外字段。我没有提到这一点,因为我的测试时没有显示10。只需双击分隔日期的垂直线或将其拖走。。。。甚至使用Delimited来代替,并关闭所有分隔符。这给了我
#VALUE
这是因为您的原始单元格(要输入的文本之一)不在“text”格式中我以前尝试过使用datevalue,但for=datevalue(“20180101”)我得到了#VALUE!这有点道理。我已将我的专栏从“常规”改为“文本”-我得到了相同的问题我尝试将格式设置为文本,还使用了
'20180101
(用撇号强制字符串),但都不起作用你是明星!第一个示例解决了我的问题:)您可以就地使用T2C,也可以将其输出到备用列。您所要做的就是指定目的地:(位于我在下面的响应中捕获的同一屏幕上)。
=DATEVALUE(REPLACE(REPLACE(A1,7,0,"-"),5,0,"-"))
=RIGHT((text),2)&"/"&MID((text),5,2)&"/"&LEFT((text),4)