将小数点转换为年,月,日,小时,分和秒
我还有:
一个电子表格,其中列C由十进制格式的天数组成。将小数点转换为年,月,日,小时,分和秒
我需要什么:
我需要E列C列的值转换为年,月,日,小时,分钟和秒。
我已经试过:
下面的公式的工作原理是代表年份,日期和月份,但并不代表小时,分钟和秒。
=INT(C9/365)&" Years, "&INT(MOD(C9,365)/30)&" Months, "&ROUND(MOD((MOD(C9,365)),30),0)&" Days"
我的问题:
使用上面的公式,我怎么也代表小时,分钟和秒?我无法理解嵌套和舍入。
也许更有效的方法来做到这一点,但我相信这应该工作。如果它不只是留下评论,我们可以解决。
小时
=INT((C9-INT(C9))*24)
分钟
=INT((((C9-INT(C9))*24)-INT((C9-INT(C9))*24))*60)
秒
=ROUNDDOWN((((((C9-INT(C9))*24)-INT((C9-INT(C9))*24))*60)-INT(((((C9-INT(C9))*24)-INT((C9-INT(C9))*24))*60)))*60,0)
整个事情
=INT(C9/365)&" Years, "&INT(MOD(C9,365)/30)&" Months, "&ROUND(MOD((MOD(C9,365)),30),0)&" Days, "&INT((C9-INT(C9))*24)& " Hours, "&INT((((C9-INT(C9))*24)-INT((C9-INT(C9))*24))*60)&" Minutes, "&ROUNDDOWN((((((C9-INT(C9))*24)-INT((C9-INT(C9))*24))*60)-INT(((((C9-INT(C9))*24)-INT((C9-INT(C9))*24))*60)))*60,0)&" Seconds"
编辑:代替ROUNDDOWN
ROUND
为分钟(可以是关闭的第二的一部分),并包括在完整的公式
我是难以结合公式。这是我的结果公式:https://pastebin.com/TAh2xAW5但值为27。3将秒数值转换为60秒。即0年,0个月,27天4小时47分60秒 –
@ClarusDignus我已经更新了我的答案。包含来自您的粘贴箱的参考修正,将'ROUND'改为'ROUNDDOWN'并添加逗号,请尝试新的公式。 –
一种简单的方法来做到这是使用TEXT
功能给你小时,分钟和秒(沿着相同的路线作为ian0411's
评论),因此,使用原来的公式的一个略加修改的版本:
=INT(C9/365)&" Years, "&INT(MOD(C9,365)/30)&" Months, "&INT(MOD(MOD(C9,365),30))&" Days "&TEXT(C9,"h:mm:ss")
,或者如果你想拼出单位你可以使用这个版本
=INT(C9/365)&" Years, "&INT(MOD(C9,365)/30)&" Months, "&INT(MOD(MOD(C9,365),30))&" Days"&TEXT(C9," h"" Hours ""m"" Minutes ""s"" Seconds""")
注意TEXT
功能是语言的特性,因此对于非英语版本的Excel h:mm:ss
可能需要更改
这样你就可以” t只是使用这样的东西:'= TEXT(C9,“yyyy-mm-dd hh:mm:ss”)'?或者你必须有年,月,日,小时,分钟和秒的措辞? – ian0411
@ ian0411 - 在数年和数月内无法正常工作,例如C9中的20会给出这个结果'1900-01-20 00:00:00' .....但你可以用它作为原始公式附加的'hh:mm:ss' - 参见我的回答 –