【发布时间】:2014-10-11 17:46:37
【问题描述】:
我有以下问题:
我想从像
这样的字符串中提取时间间隔时间=10PM-12AM!991408111200000
问题是,我需要 24 小时格式,所以 10PM-12AM 在两个不同的单元格中应该是 22 和 00。我尝试了几种解决方案,但对于所有可能的时间间隔都没有奏效。你知道我该怎么做吗?非常感谢!
【问题讨论】:
标签: excel parsing date time format
我有以下问题:
我想从像
这样的字符串中提取时间间隔时间=10PM-12AM!991408111200000
问题是,我需要 24 小时格式,所以 10PM-12AM 在两个不同的单元格中应该是 22 和 00。我尝试了几种解决方案,但对于所有可能的时间间隔都没有奏效。你知道我该怎么做吗?非常感谢!
【问题讨论】:
标签: excel parsing date time format
这应该可行。假设您的原始字符串在 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,这应该足够聪明,可以理解两者之间的空间更少。这也假设感叹号只是偶然出现在那里,而不是总是在那里。
如果您有问题,请告诉我。
【讨论】: