在Excel中将字符串转换为MM/DD/YYYY日期格式

在Excel中将字符串转换为MM/DD/YYYY日期格式,excel,Excel,我有一个来自imdb.com的表,我想将其中一个字段转换为Excel理解为日期的格式(IMDBs只是理解为任意字符串) 他们使用的格式示例是:“Wed May 27 00:00:00 2015”。我想将其转换为“MM/DD/YYYY”格式。如何使用Excel进行此操作?答案有两部分 第一步是将字符串转换为Excel日期时间。答案中包含的内容: 第二步是将显示格式设置为MM/DD/YY,这是使用普通单元格格式完成的。请参阅:例如。您可以尝试以下方法: =TEXT(DATE(RIGHT(A1, 4)

我有一个来自imdb.com的表,我想将其中一个字段转换为Excel理解为日期的格式(IMDBs只是理解为任意字符串)


他们使用的格式示例是:“Wed May 27 00:00:00 2015”。我想将其转换为“MM/DD/YYYY”格式。如何使用Excel进行此操作?

答案有两部分

第一步是将字符串转换为Excel日期时间。答案中包含的内容:

第二步是将显示格式设置为
MM/DD/YY
,这是使用普通单元格格式完成的。请参阅:例如。

您可以尝试以下方法:

=TEXT(DATE(RIGHT(A1, 4), MATCH(TRIM(RIGHT(LEFT(A1, 7), 4)), {"Jan","Feb","Mar","Apr","May","Jun","Jul","Sep","Aug","Oct","Nov","Dec"}, 0), TRIM(RIGHT(LEFT(A1, 10), 2))), "mm/dd/yyyy")
不要忘记,要运行此公式,必须按Ctrl+Shift+Enter键,而不仅仅是Enter键

以上公式假设您所有的日期都与您发布的日期格式完全相同。但是如果没有,您可以根据需要更改
LEFT
RIGHT
函数中的值以及月份数组

下面是这项工作原理的概述:

1) 它从字符串中查找年份

RIGHT(A1, 4)
RIGHT(LEFT(A1, 7), 4)
TRIM(RIGHT(LEFT(A1, 10), 2))
2) 它从字符串中查找月份

RIGHT(A1, 4)
RIGHT(LEFT(A1, 7), 4)
TRIM(RIGHT(LEFT(A1, 10), 2))
3) 从数组中查找月份的索引

MATCH(TRIM(RIGHT(LEFT(A1, 7), 4)), {"Jan","Feb","Mar","Apr","May","Jun","Jul","Sep","Aug","Oct","Nov","Dec"}, 0)
4) 从字符串中查找日期

RIGHT(A1, 4)
RIGHT(LEFT(A1, 7), 4)
TRIM(RIGHT(LEFT(A1, 10), 2))
5) 使用
DATE
函数将其转换为
DATE

DATE(RIGHT(A1, 4), MATCH(TRIM(RIGHT(LEFT(A1, 7), 4)), {"Jan","Feb","Mar","Apr","May","Jun","Jul","Sep","Aug","Oct","Nov","Dec"}, 0), TRIM(RIGHT(LEFT(A1, 10), 2)))
6) 使用
文本
功能格式化结果

DATE(RIGHT(A1, 4), MATCH(TRIM(RIGHT(LEFT(A1, 7), 4)), {"Jan","Feb","Mar","Apr","May","Jun","Jul","Sep","Aug","Oct","Nov","Dec"}, 0), TRIM(RIGHT(LEFT(A1, 10), 2)))
TEXT
函数允许您以任何方式格式化单元格值

有关此功能的更多信息,请参阅

以下是此公式的屏幕截图:


要就地转换值,请选择要转换的单元格并运行此短宏:

Sub Datemaker()
    Dim r As Range, d As Date
    For Each r In Selection
        ary = Split(r.Text, " ")
        d = DateValue(ary(1) & " " & ary(2) & " " & ary(4))
        r.Value = d
        r.NumberFormat = "mm/dd/yyyy"
    Next r
End Sub

给定定义良好的格式,请使用另一个公式将值转换为Excel日期:

=--REPLACE(MID(A1,5,20),7,9,",")

然后你可以随心所欲地格式化它

只是稍微修改一下帖子,让它(希望如此!)更容易阅读。