【问题标题】:Convert text date/time to a real date time in excel在excel中将文本日期/时间转换为实际日期时间
【发布时间】:2016-07-15 13:42:38
【问题描述】:

我的数据是从应用程序中提取的,它的文本看起来像 Excel 中的日期/时间。如何将“3/24/2016 11:22:07 PM”(文本)实际转换为实际日期/时间转换?我试过格式化单元格,但它不起作用。

【问题讨论】:

    标签: excel date time data-conversion


    【解决方案1】:

    对于日期转换:

    =DATEVALUE(TEXT(A1,"MM/DD/YYYY"))
    

    对于时间转换:

    =TIMEVALUE(TEXT(A1,"HH:MM:SS"))
    

    日期时间转换:

    =DATEVALUE(TEXT(A1,"MM/DD/YYYY"))+TIMEVALUE(TEXT(A1,"HH:MM:SS"))
    

    其中 A1 包含您要转换的数据。

    顺便说一句,您可能希望将单元格格式化为日期/时间或其他格式。

    希望对您有所帮助。

    【讨论】:

    • 对于问题中描述的字符串格式(“3/24/2016 11:22:07 PM”),可以使用:=DATEVALUE(LEFT(A1,10))+TIMEVALUE(RIGHT(A1,11))
    • 请记住,它在 DATEVALUE 期望的特定日期格式中看起来像 A1。正如"MM/DD/YYY" 的格式TEXT 不是一个选项,而是一个需求
    【解决方案2】:

    1) 尝试使用 DATEVALUE 函数,看看它是否适合您。

    2) 一种更可靠的方法,因为 datevalue 并不总是有效,是手动剥离文本并将其插入到 Excel 日期值中。您将要使用以下功能的组合:

    • 日期
    • 时间
    • 如果
    • 查找
    • 正确

    现在,在我看来,最简单的方法是使用多个帮助列来构建所有步骤。每步一列。当您得到最终答案时,您可以将辅助列中的公式替换或复制粘贴到最终公式中,直到剩下一个变量。我这么说的原因是,如果你打错字、忘记括号或出现问题,最终只引用 1 个变量的公式会变得相当冗长/难看,而且很难解决。当我采用这种方法时,我总共使用了 14 列(包括最终公式)。当我把它全部打包成一个公式时,结果是这样的:

    DATE(RIGHT(LEFT(A3,FIND(" ",A3)-1),4),LEFT(LEFT(A3,FIND(" ",A3)-1),FIND("/",LEFT(A3,FIND(" ",A3)-1))-1),MID(LEFT(A3,FIND(" ",A3)-1),FIND("/",LEFT(A3,FIND(" ",A3)-1))+1,FIND("/",LEFT(A3,FIND(" ",A3)-1),FIND("/",LEFT(A3,FIND(" ",A3)-1))+1)-FIND("/",LEFT(A3,FIND(" ",A3)-1))-1))+TIME(LEFT(RIGHT(A3,LEN(A3)-FIND(" ",A3)),FIND(":",RIGHT(A3,LEN(A3)-FIND(" ",A3)))-1)+IF(AND(LEFT(RIGHT(A3,LEN(A3)-FIND(" ",A3)),FIND(":",RIGHT(A3,LEN(A3)-FIND(" ",A3)))-1)<12,RIGHT(RIGHT(A3,LEN(A3)-FIND(" ",A3)),2)="AM"),0,12),MID(RIGHT(A3,LEN(A3)-FIND(" ",A3)),FIND(":",RIGHT(A3,LEN(A3)-FIND(" ",A3)))+1,FIND(":",RIGHT(A3,LEN(A3)-FIND(" ",A3)),FIND(":",RIGHT(A3,LEN(A3)-FIND(" ",A3)))+1)-FIND(":",RIGHT(A3,LEN(A3)-FIND(" ",A3)))-1),MID(RIGHT(A3,LEN(A3)-FIND(" ",A3)),FIND(":",RIGHT(A3,LEN(A3)-FIND(" ",A3)),FIND(":",RIGHT(A3,LEN(A3)-FIND(" ",A3)))+1)+1,2))
    

    请注意,它是使用单元格 A3 设置的,时间为需要格式化的文本。

    3) 您还应该能够使用位于数据功能区一半左右的 Excel 文本到列功能。

    4) 当然,也可以选择通过 VBA 对其进行编码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-13
      • 1970-01-01
      • 2011-07-29
      • 1970-01-01
      • 2012-10-07
      • 1970-01-01
      • 1970-01-01
      • 2012-08-03
      相关资源
      最近更新 更多