将 02:45:00 转换为 2 小时 45 分钟

将 02:45:00 转换为 2 小时 45 分钟

我在 Excel 中有一张工作表,其中有一个计算出的“持续时间”字段,格式为 hh:mm:ss

我想知道的是,是否可以将该值转换/输出为另一列中的文本字符串,例如:02:45:00 将输出为 2Hrs 45Min

环顾四周,但没有发现任何有用的东西。也许不可能?

答案1

您没有说明当没有值时您希望发生什么 - 在您的示例中,没有秒数,并且您在秒数时不显示任何内容。或者,您只是没有在帖子中提到它,所以我为这两种情况都提供了解决方案!

您需要连接并使用文本

=CONCATENATE(HOUR(A1),"HRS ",MINUTE(A1),"MINS ", SECOND(A1), "SECS")

在此处输入图片描述

这将检查小时、分钟和秒是否存在,并且仅显示它们是否存在(遗憾的是公式很长)

=CONCATENATE(IF(HOUR(A4) >0, CONCATENATE(HOUR(A4), "Hr "),""), IF(MINUTE(A4)>0, CONCATENATE( MINUTE(A4),"Min "),""), IF(SECOND(A4)>0,CONCATENATE(SECOND(A4), "Sec"),""))

在此处输入图片描述

答案2

您可以使用 HOUR 和 MINUTE 函数

=HOUR(A1)&"Hrs "&MINUTE(A1)&"Min"

即使 A1 是文本,它也会解析。

答案3

更好的选择是使用 Excel 中的小时和分钟函数,然后使用连接函数来组合这些单独的字符串。

=CONCATENATE(HOUR(A8),"Hrs ", MINUTE(A8),"Min")

将输出2Hrs 45Min您所发布的示例。

不太好看的是通过字符来解析单元格(但您可以在各种场景中使用 MID 函数!)

=CONCATENATE(MID(A1,1,2),"HRS ", MID(A1,4,2),"MIN")

它将输出02HRS 45MIN您引用的单元格。

答案4

您可以简单地定义列的格式,无需转换或计算。

使用[hh]"Hrs "mm"Min"作为格式,它将按照您的要求显示。

相关内容