2017-10-20 58 views
1

Ce que j'ai:

Une feuille de calcul dans laquelle la colonne C se compose d'un nombre de jours en format décimal.Convertir jours en décimal à plusieurs années, mois, jours, heures, minutes et secondes

Ce que je besoin:

J'ai besoin Colonne E pour convertir la valeur de la colonne C à des années, mois, jours, heures, minutes et secondes.

Ce que j'ai essayé:

La formule suivante fonctionne en deux années, des jours et des mois, mais ne représente pas les heures, les minutes et les secondes.

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

Ma question:

En utilisant la formule ci-dessus, comment puis-je représenter aussi les heures, les minutes et les secondes? Je n'arrive pas à comprendre l'imbrication et l'arrondissement.

+0

vous pouvez donc » t juste utiliser quelque chose comme ceci: '= TEXT (C9," aaaa-mm-jj hh: mm: ss ")'? Ou vous devez avoir le libellé de l'année, du mois, du jour, de l'heure, de la minute et de la seconde? – ian0411

+0

@ ian0411 - cela ne fonctionnera pas correctement pendant des années et des mois, par ex. 20 en C9 donnerait ce résultat '1900-01-20 00: 00: 00' ..... mais vous pouvez l'utiliser pour' hh: mm: ss' ajouté à la formule originale - voir ma réponse –

Répondre

0

Peut-être un moyen plus efficace de le faire, mais je crois que cela devrait fonctionner. Si ce n'est pas juste laisser un commentaire et nous pouvons le résoudre.

Heures

=INT((C9-INT(C9))*24) 

minutes

=INT((((C9-INT(C9))*24)-INT((C9-INT(C9))*24))*60) 

secondes

=ROUNDDOWN((((((C9-INT(C9))*24)-INT((C9-INT(C9))*24))*60)-INT(((((C9-INT(C9))*24)-INT((C9-INT(C9))*24))*60)))*60,0) 

Le tout

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

EDIT: ROUNDDOWN au lieu de ROUND pour les minutes (peut être une portion d'une seconde) et inclus la formule complète

+0

Je suis avoir de la difficulté à combiner les formules. C'est ma formule résultante: https://pastebin.com/TAh2xAW5 cependant une valeur de 27.3 convertit la valeur pour secondes en 60 secondes. C'est à dire. 0 Années, 0 Mois, 27 Jours 4 Heures 47 Minutes 60 Secondes –

+0

@ClarusDignus J'ai mis à jour ma réponse. Inclut un correctif de référence de votre corbeille de collage, a changé 'ROUND' en' ROUNDDOWN' et ajouté des virgules, essayez la nouvelle formule. –

1

Une façon simple de le faire est d'utiliser TEXT fonction pour vous donner les heures, les minutes et les secondes (dans le même sens que ian0411's commentaire), donc en utilisant une version légèrement révisée de la formule originale:

=INT(C9/365)&" Years, "&INT(MOD(C9,365)/30)&" Months, "&INT(MOD(MOD(C9,365),30))&" Days "&TEXT(C9,"h:mm:ss")

ou si vous voulez préciser les unités que vous pouvez utiliser cette version

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

Notez que la fonction TEXT est le langage spécifique pour les versions non anglais Excel h:mm:ss pourrait modifier