在Google Sheets中将文本格式时长转换为可计算时长
文本时长转可计算格式的解决方案
一、Excel 365/2021版本(推荐)
直接用TEXTBEFORE和TEXTAFTER提取各时间单位的数值,转成Excel可识别的天单位数值(Excel中日期/时长以天为基准计算):
在B2单元格输入公式,下拉填充:
=--(TEXTBEFORE(A2,"h")/24 + TEXTBEFORE(TEXTAFTER(A2,"h "),"m")/(24*60) + TEXTBEFORE(TEXTAFTER(A2,"m "),"s")/(24*60*60) + TEXTBEFORE(TEXTAFTER(A2,"s "),"ms")/(24*60*60*1000))
- 公式逻辑:把小时、分钟、秒、毫秒分别转换为天的分数,相加后用
--强制转为数值格式。 - 设置单元格格式:选中B列,右键→设置单元格格式→自定义,输入
[h]:mm:ss.000,这样就能显示带毫秒的标准时长,且支持公式计算。
二、旧版Excel(无TEXTBEFORE/TEXTAFTER)
用SEARCH定位单位位置,MID提取数字:
B2单元格公式:
=--(MID(A2,1,SEARCH("h",A2)-1)/24 + MID(A2,SEARCH("h ",A2)+2,SEARCH("m",A2)-SEARCH("h ",A2)-2)/(24*60) + MID(A2,SEARCH("m ",A2)+2,SEARCH("s",A2)-SEARCH("m ",A2)-2)/(24*60*60) + MID(A2,SEARCH("s ",A2)+2,SEARCH("ms",A2)-SEARCH("s ",A2)-2)/(24*60*60*1000))
同样设置自定义格式[h]:mm:ss.000即可。
三、C列计算
假设你要拿某个基准时长(比如放在D2单元格,需同样是可计算的数值格式)减去B列的时长,C2输入:
=D2 - B2
然后给C列也设置[h]:mm:ss.000格式,就能得到正确的差值结果。
内容的提问来源于stack exchange,提问作者Brendan Kelley
相关产品推荐
相关产品推荐

