2017-10-20 1199 views
1

我還有:

一個電子表格,其中列C由十進制格式的天數組成。將小數點轉換爲年,月,日,小時,分和秒

我需要什麼:

我需要E列C列的值轉換爲年,月,日,小時,分鐘和秒。

我已經試過:

下面的公式的工作原理是代表年份,日期和月份,但並不代表小時,分鐘和秒。

=INT(C9/365)&" Years, "&INT(MOD(C9,365)/30)&" Months, "&ROUND(MOD((MOD(C9,365)),30),0)&" Days" 

我的問題:

使用上面的公式,我怎麼也代表小時,分鐘和秒?我無法理解嵌套和舍入。

+0

這樣你就可以」 t只是使用這樣的東西:'= TEXT(C9,「yyyy-mm-dd hh:mm:ss」)'?或者你必須有年,月,日,小時,分鐘和秒的措辭? – ian0411

+0

@ ian0411 - 在數年和數月內無法正常工作,例如C9中的20會給出這個結果'1900-01-20 00:00:00' .....但你可以用它作爲原始公式附加的'hh:mm:ss' - 參見我的回答 –

回答

0

也許更有效的方法來做到這一點,但我相信這應該工作。如果它不只是留下評論,我們可以解決。

小時

=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" 

編輯:代替ROUNDDOWNROUND爲分鐘(可以是關閉的第二的一部分),幷包括在完整的公式

+0

我是難以結合公式。這是我的結果公式:https://pastebin.com/TAh2xAW5但值爲27。3將秒數值轉換爲60秒。即0年,0個月,27天4小時47分60秒 –

+0

@ClarusDignus我已經更新了我的答案。包含來自您的粘貼箱的參考修正,將'ROUND'改爲'ROUNDDOWN'並添加逗號,請嘗試新的公式。 –

1

一種簡單的方法來做到這是使用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可能需要更改

相關問題