【问题标题】:Parsing string in Excel - date and time在 Excel 中解析字符串 - 日期和时间
【发布时间】:2014-10-11 17:46:37
【问题描述】:

我有以下问题:

我想从像

这样的字符串中提取时间间隔

时间=10PM-12AM!991408111200000

问题是,我需要 24 小时格式,所以 10PM-12AM 在两个不同的单元格中应该是 22 和 00。我尝试了几种解决方案,但对于所有可能的时间间隔都没有奏效。你知道我该怎么做吗?非常感谢!

【问题讨论】:

    标签: excel parsing date time format


    【解决方案1】:

    这应该可行。假设您的原始字符串在 A1 上。第一个代码用于时间的第一部分。第二个是破折号之后的时间。

    =TEXT(IFERROR(REPLACE(MID(A1,FIND("=",A1)+1,FIND("-",A1)-1-FIND("=",A1)),FIND("PM",MID(A1,FIND("=",A1)+1,FIND("-",A1)-1-FIND("=",A1))),2," PM"),REPLACE(MID(A1,FIND("=",A1)+1,FIND("-",A1)-1-FIND("=",A1)),FIND("AM",MID(A1,FIND("=",A1)+1,FIND("-",A1)-1-FIND("=",A1))),2," AM")),"HH:MM")
    
    =TEXT(IFERROR(REPLACE(MID(A1,FIND("-",A1)+1,FIND("M",A1,FIND("-",A1))-FIND("-",A1)),FIND("PM",MID(A1,FIND("-",A1)+1,FIND("M",A1,FIND("-",A1))-FIND("-",A1))),2," PM"),REPLACE(MID(A1,FIND("-",A1)+1,FIND("M",A1,FIND("-",A1))-FIND("-",A1)),FIND("AM",MID(A1,FIND("-",A1)+1,FIND("M",A1,FIND("-",A1))-FIND("-",A1))),2," AM")),"HH:MM")
    

    之所以这么长,是因为我不确定您的数据是否总是包含四个字符。例如,如果您的数据有 time=3PM-6PM,这应该足够聪明,可以理解两者之间的空间更少。这也假设感叹号只是偶然出现在那里,而不是总是在那里。

    如果您有问题,请告诉我。

    【讨论】:

    • 如果您不想要结果中的分钟数,请将公式中的“HH:MM”更改为“HH”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-24
    • 2013-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多