模拟时间转换

时间:2019-07-04 08:32:10

标签: excel excel-formula

我正在运行仿真(时间长度:100秒),结果被导出到包含两列的csv。第一个是以秒为单位的“时间”。它包含十进制数字。模拟步骤是可变的。我需要将十进制数字转换为hh:mm:ss格式。

在Excel中将单元格的格式从“数字”更改为“时间”不是解决方案,因为会丢失模拟步骤。

0              00:00:00
0,02           00:28:48 WRONG
0,04           00:57:36 WRONG
0,066          01:35:02 WRONG
0,0998         02:23:43 WRONG
0,14374        03:26:59 WRONG
0,200862       04:49:14 WRONG
0,2751206      06:36:10 WRONG
0,37165678     08:55:11 WRONG
0,497153814    11:55:54 WRONG

我希望HH:MM:SS格式能保持两个模拟时刻之间的间隔

0              00:00:00
0,02           00:00:00 
0,04           00:00:00
........
1,007964       00:00:01
1,090020       00:00:01
......
100            00:01:40

2 个答案:

答案 0 :(得分:2)

Excel将日期/时间存储为双精度值-整数部分是自1899-12-31以来的天数-因此1变成1900-01-01,而60变成{{1 }}等。小数部分是时间,是一整天的分数-1900-02-29中午12点

因此,0.5的值为0.1不是 2 hours, 24 minutes

这意味着您的代码为您编写的内容提供了正确的输出,但没有为您想要编写的内容提供正确的输出。

您实际上实际上想要的是100 milliseconds函数-该函数接受小时,分钟和秒,并输出如下时间值:

TIME

=TIME(01, 23, 45) 1:23 AM =TEXT(TIME(01, 23, 45), "hh:mm:ss") 01:23:45 DATE函数也“溢出”。也就是说,TIME与编写=TIME(0, 0, 65)相同,都给出=TIME(0, 1, 5)

它们也“在流下”,因此1 minute, 5 seconds也将给出TIME(0, 2, -55)1 minute, 5 seconds=DATE(1900,3,0),而{{1} }是1900-02-29

答案 1 :(得分:0)

使用公式:

=TIME(0,0,SUBSTITUTE(E12,",","."))

如果格式使用,而不是。使用功能。 =TIME(0,0,E12)

相应地更改单元格引用。

结果:

enter image description here

相关问题