Excel:格式错误的日期

Excel:格式错误的日期,excel,Excel,我在下载的CSV中有一个字段,如下所示: 2017年10月15日12:00:00.000 我想将此字段拆分为一个实际日期字段和一个时间字段。找不到任何好的解决方法 有什么想法吗?首先将这个UDF()放在一个标准模块中: Public Function INeedADate(s As String) As Date arr = Split(s, ",") brr = Split(arr(0), " ") INeedADate = DateValue(Mid(brr(1),

我在下载的CSV中有一个字段,如下所示: 2017年10月15日12:00:00.000

我想将此字段拆分为一个实际日期字段和一个时间字段。找不到任何好的解决方法

有什么想法吗?

首先将这个
UDF()
放在一个标准模块中:

Public Function INeedADate(s As String) As Date
    arr = Split(s, ",")
    brr = Split(arr(0), " ")
    INeedADate = DateValue(Mid(brr(1), 1, Len(brr(1)) - 2) & " " & brr(0) & " " & brr(2))
End Function
然后使用A1中的数据,在B1中输入:

=INeedADate(A1)
=TIMEVALUE(RIGHT(A1,8))
C1中输入:

=INeedADate(A1)
=TIMEVALUE(RIGHT(A1,8))

注:


UDF()
没有什么特别之处。它可以很容易地替换为等效公式。

如果您有Excel 2016,请使用新建向导导入CSV文件

  • 在逗号上拆分字段
  • 时间字段应自动转换
  • 在日期字段中,将
    rd
    th
    st
    替换为
    逗号
    (三个步骤)
  • 将“类型”更改为日期
如果您使用的是旧版本,在逗号上拆分后,请执行三个嵌套的
替换项
,以删除序号标记

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"nd",","),"rd",","),"th",",")
在该公式前面加上
DATEVALUE
函数、
VALUE
函数或双一元数,即可将其转换为“实际日期”