我有以下问题:
我想从字符串中提取时间间隔,如
时间= 10 PM-12AM!991408111200000
问题是,我需要24小时格式,因此10 PM-12AM在两个不同的单元格中应该是22和00。我尝试了几种解决方案,但没有任何可能的间隔。你知道我怎么能这样做吗?非常感谢!
答案 0 :(得分: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")
之所以这么久是因为我不确定你的数据是否总能在当时出现四个字符。例如,如果您的数据有时间= 3 PM-6PM,那么这应该足够聪明,以便了解中间空间较少。这也假设感叹号恰好是随机出现而不是总是在那里。
如果您有问题,请告诉我。