excel - 模拟时间的转换

标签 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

最佳答案

Excel 将日期/时间存储为 double - 整数部分是自 1899-12-31 以来的天数 - 所以 1变成 1900-01-01 , 和 60变成 1900-02-29 ,等等。小数部分是时间,如 一整天的一小部分 - 0.5中午12点 .

因此,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
DATETIME函数也“溢出”。也就是说,=TIME(0, 0, 65)与写 =TIME(0, 1, 5) 相同, 都给 1 minute, 5 seconds .

他们也“下溢”,所以TIME(0, 2, -55)会给1 minute, 5 seconds以及(和 =DATE(1900,3,0)1900-02-29=DATE(1901,3,0)1901-02-28 )

关于excel - 模拟时间的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56883739/

相关文章:

Excel公式: Grab the column name corresponding to particular cell

r - 对齐数值精度 Excel 2013 和 R

c# - 使用 linq to excel 从多个 excel 表中读取数据 (http ://code. google.com/p/linqtoexcel/)

excel - 使单元格的一部分保持粗体 - Excel

c# - 不带参数的 Excel DNA 函数在 Excel 函数向导中仍显示一个参数

excel - 如何将包含来自不同单元格的部分文本的单元格重新组织到一列中?

c# - 哪一行代码仍在使用该文件而不释放它?

vba - 从工作簿 1 的单元格中的数据宏到 "Save as"工作簿 2

excel - 计算/汇总一列但排除#N/A

excel - 数组不输出最后一个单元格