时间计算与天、小时、分钟转换问题求助
解决谷歌表格时间差转天/小时/分钟格式的问题
尝试将相减得到的时间转换为天、小时和分钟格式,所用公式
=INT(I4)&" days "&TEXT(I4,"h"" hrs ""m"" mins """)存在功能缺失,无法正确显示结果。
问题分析
- 原公式中
TEXT(I4,"h")的h格式代码仅显示0-23的小时数,当时间差超过24小时时,会被取模24,无法展示累计小时数。 - 当时间差不足1天时,公式会显示冗余的
0 days文本,不符合部分场景的显示需求。
解决方案
方案1:修正累计小时显示(保留0 days)
使用[h]替代h格式代码,实现累计小时数的正确展示:
=INT(I4)&" days "&TEXT(I4,"[h]"" hrs ""m"" mins """)
或者更简洁的写法(用TEXT直接提取天数):
=TEXT(I4,"d"" days ""[h]"" hrs ""m"" mins """)
方案2:优化显示(去掉0 days)
通过IF判断隐藏天数为0时的冗余文本:
=IF(INT(I4)=0,"",INT(I4)&" days ")&TEXT(I4,"[h]"" hrs ""m"" mins """)
代码说明
[h]:方括号包裹的小时格式,用于计算累计小时数(突破24小时限制),是解决原公式核心问题的关键。INT(I4)/TEXT(I4,"d"):提取时间差中的整数天数。- 双引号包裹的文本(如
" days ")是固定显示内容,在谷歌表格公式中需要用双引号转义。
内容的提问来源于stack exchange,提问作者HSHO
相关产品推荐
相关产品推荐

