当毫秒点中有前导“ 0”时,Excel无法将导入的日期/时间识别为日期和时间

时间:2018-07-17 14:39:26

标签: excel date excel-formula excel-2016

我正在尝试从具有日期/时间和当前值的文本文件中导入数据。导入为yyyy/mm/dd hh/mm/ss 000。 Excel将其中大多数识别为日期,但是当毫秒点的前面有“ 0”时,它不会将其识别为日期。如果我删除0或将其更改为其他数字,它将识别出它。

我的数据集很大(超过200,000列长度),因此手动将其转换为日期是不可行的。有什么方法可以使excel识别以零开头的日期作为日期?在工作簿中还是在VBA中?使用2016。

文本文件数据集

Text File Data Set

Excel文件数据集

Excel File Data Set

3 个答案:

答案 0 :(得分:1)

  1. 将数据导入Excel。
  2. 用逗号和空格将文本拆分为列,这将导致4列

        A      |      B     |   C   |    D
    7/12/2018  |  16:18:05  |   91  |  -0.26
    7/12/2018  |  16:18:05  |  291  |  -0.25
    
  3. 在E列中使用此公式

    =A:A+B:B+(C:C/24/60/60/1000)
    
  4. 将E列设置为

    DD/MM/YYYY hh:mm:ss.000
    

    或类似的东西。这里最棘手的部分是hh:mm:ss.000

答案 1 :(得分:1)

您可以将日期时间导入为文本,然后在另一列中添加公式以将第二个空格更改为小数点并将其转换为日期时间:

=DATEVALUE(SUBSTITUTE(A1," ",".",2))+TIMEVALUE(SUBSTITUTE(A1," ",".",2))

enter image description here

答案 2 :(得分:0)

如果使用Power Query导入,则可以

  • 用定界符分隔列1,并在选项中将space指定为定界符和最右边的定界符
    • 确保结果列2的数据类型为“文本”
  • 然后合并第1列和第2列,并将点指定为分隔符

  • 确保合并列的数据类型为日期/时间

  • 检查以确保最后一列的数据类型为Decimal

  • 将结果加载到工作表中,并根据需要设置格式。

设置查询后,只要数据更改,就可以刷新查询。