如何在Google Sheets中计算MM:SS带小数秒格式时长的平均值
Google Sheets计算分:秒带小数格式时长平均值的解决方案
- 问题根因:你手中符合
\d+:\d+[.\d+]格式的时长本质为文本类型,即使手动将单元格格式设置为duration,Google Sheets也无法自动将这类文本转换为可计算的时间序列数值,识别到的数值为0,因此计算平均值时会触发除以零报错。 - 无辅助列直接计算方案:
假设你的时长数据存储在A列A2到A10单元格区间,可直接使用以下公式输出格式化的平均时长:
公式说明:=LET( avg_sec,AVERAGE(ARRAYFORMULA(IF(A2:A10="",,LEFT(A2:A10,FIND(":",A2:A10)-1)*60 + RIGHT(A2:A10,LEN(A2:A10)-FIND(":",A2:A10))))), TEXT(INT(avg_sec/60)&":"&MOD(avg_sec,60),"0:00.00") )LEFT+FIND提取冒号前的分钟数,乘以60转换为秒RIGHT提取冒号后的秒数,和转换后的分钟秒数相加得到单条时长的总秒数AVERAGE计算所有总秒数的平均值TEXT函数将平均总秒数转换回分:秒.小数的常规显示格式,可自行调整末尾的0:00.00修改小数位数,比如需要保留三位小数就改为0:00.000
- 如需保留辅助列方便核对:
在B2单元格输入=IF(A2="",,LEFT(A2,FIND(":",A2)-1)*60 + RIGHT(A2,LEN(A2)-FIND(":",A2)))下拉到对应行,即可得到每行时长对应的总秒数,再用=AVERAGE(B2:B10)即可得到平均总秒数。
内容的提问来源于stack exchange,提问作者Angular Orbit
相关产品推荐
相关产品推荐

