Google Sheets中带天数的天时分秒时长转换为指定格式方法咨询
时长转换解决方案
1. 原生时间格式(带天数的单元格时间值)转十进制小时
原有公式未计入天数,补充DAY函数即可适配:
- 公式:
=DAY(A1)*24 + HOUR(A1) + MINUTE(A1)/60 + SECOND(A1)/3600 - 说明:天数为0时DAY函数返回0,自动忽略天数部分,完全符合使用要求。
2. "Xd Xh Xm Xs"文本格式转「总小时:分钟.秒」格式
针对01d 04h 19m 23s这类文本格式的时长,直接用以下公式转换:
适用Excel 365/ WPS 2019及以上版本
=LET( d,IFERROR(LEFT(A1,FIND("d",A1)-1)*1,0), h,IFERROR(MID(A1,FIND("h",A1)-2,2)*1,0), m,IFERROR(MID(A1,FIND("m",A1)-2,2)*1,0), s,IFERROR(MID(A1,FIND("s",A1)-2,2)*1,0), total_h,d*24+h, TEXT(total_h,"0")&":"&TEXT(m,"00")&"."&TEXT(s,"00") )
输入示例
01d 04h 19m 23s时,公式输出结果为28:19.23,和需求完全匹配。
适用旧版本Excel(无LET函数支持)
- 公式:
=IFERROR(LEFT(A1,FIND("d",A1)-1)*24,0)+IFERROR(MID(A1,FIND("h",A1)-2,2)*1,0)&":"&MID(A1,FIND("m",A1)-2,2)&"."&MID(A1,FIND("s",A1)-2,2)
3. "Xd Xh Xm Xs"文本格式转十进制小时
如果需要直接得到十进制总小时数,用以下公式:
- 公式:
=IFERROR(LEFT(A1,FIND("d",A1)-1)*24,0)+IFERROR(MID(A1,FIND("h",A1)-2,2)/1,0)+IFERROR(MID(A1,FIND("m",A1)-2,2)/60,0)+IFERROR(MID(A1,FIND("s",A1)-2,2)/3600,0)
内容的提问来源于stack exchange,提问作者Ricardo Benavente
相关产品推荐
相关产品推荐

