如何在Google Sheets中将Xh XXm格式时长批量转换为小数
在Google Sheets中批量转换非标准时长为小数小时
核心公式(适配你的数据格式)
假设源数据在A列,在B1单元格输入以下公式,下拉即可批量转换:
=VALUE(REGEXEXTRACT(A1,"(\d+)h")) + VALUE(REGEXEXTRACT(A1,"(\d+)m"))/60
公式说明
REGEXEXTRACT(A1,"(\d+)h"):从目标单元格中提取h前缀的数字(比如2h 30m里的2),通过VALUE转为数值作为小时基数。REGEXEXTRACT(A1,"(\d+)m"):提取m前缀的数字(比如30),除以60转换为小时的小数部分。- 两部分相加得到最终的小数小时值。
兼容特殊情况的公式(可选)
如果数据中存在仅含小时(如5h)或仅含分钟(如45m)的条目,用以下公式避免报错:
=IFERROR(VALUE(REGEXEXTRACT(A1,"(\d+)h")),0) + IFERROR(VALUE(REGEXEXTRACT(A1,"(\d+)m"))/60,0)
关于INDEX+SPLIT失效的原因
用SPLIT按空格拆分后得到的是2h、30m这类带单位的文本,需要额外步骤剥离单位再转数值,不如正则提取一步到位高效。
内容的提问来源于stack exchange,提问作者Radosław Pieja
相关产品推荐
相关产品推荐

