使用HH:MM:SS进行Excel计算
我正在转换一些Excel计算到Javascript的中间。
我在Excel中遇到了一个计算使用格式为HH:MM:SS的input值来计算值,这似乎没有道理。
首先,这是我正在试图理解的公式:
=MOD((Jataka!$C$60*24*2.5*5*30), 360)
在上面的公式中, Jataka!$C$60
中的单元格的值为21:11:29
,单元格的单元格格式为Custom [h]:mm:ss
如果分解到较小的步骤,这里是excel计算的结果:
自Jataka!$C$60
= 21:11:29
和24*2.5*5*30
= 9000
(Jataka!$C$60*24*2.5*5*30)
根据excel等于190723:29:53
如果您然后将包含190723:29:53
计算结果的单元格的单元格格式更改为数字单元格格式,则根据Excel的190723:29:53
的数字等效值为7946.81
。
如果你拿7946.81
并用360
的除数来应用excel的MOD函数,你会得到26.81242183
的计算值和最终值。
换句话说: =MOD(7946.81, 360)
= 26.81242183
以上是Excel中计算的内容。
我试图让我的头在这个计算,这是我的思路…..
我假设21:11:29
意思是:小时是21,分钟是11,秒是29。
因此,我将小时分秒改为十进制等值。 21:11:29
以十进制表示为21.191388888888888
然后我得到21.191388888888888
并将24*2.5*5*30
或9000
乘以它。 21.191388888888888
× 24*2.5*5*30
或9000
= 190722.5
。
在这一点上我注意到,我的190722.5
计算是不同于Excel的原始hh:mm:ss
格式和Number
等效格式的计算。
在上面的excel计算中,raw hh:mm:ss
格式是190723:29:53
。 如果您将190723:29:53
转换为十进制,则会获得190723.49805555557
190723.49805555557
不同于我们的190722.5
的计算。
根据excel, 190723:29:53
的数字等效格式是7946.81
。
7946.81
也不同于190722.5
计算。
所以即使在这一点上,我们已经得到不同的中间结果….这是什么原因?
excel如何将像21:11:29
这样的值转换成Number
?
如果我继续我的计算做360的MOD我得到=MOD(190722.5, 360)
= 282.5
。
然而在excel文件中,我的计算结果是基于: =MOD(7946.81, 360)
= 26.81242183
我在这里不了解什么? 我错过了什么步骤?
excel如何将像21:11:29
这样的值转换成Number
?
即使我先把21:11:29
转换成21:11:29
中的Number
,我21:11:29
得到0.88
的值。
我相信这是解决这个问题的两个重要问题:
1)什么公式擅长使用21:11:29
Number
乘以?
2.),excel如何将HH:MM:SS的格式如21:11:29
转换为Number
?
因此,我将小时分秒改为十进制等值。 21:11:29以十进制表示,假设为21.191388888888888
21:11:29
或TIME(21, 11, 29)
21.191388888888888
TIME(21, 11, 29)
不是21.191388888888888
。
Excel中的date是1899年12月31日以后的每一天。 今天恰好是42,413。 时间被认为是一天中的一个小数部分,所以今天中午的时间是42,413.5,今天下午8:00的时间是42,413.83333。
21:11:29(没有date分量)的时间等于〜0.882974537,而不是21.191388888888。 如果你乘以24(一天中的小时数),那么它是21.191388888888,因为你已经把小时数从一天中的小数(1/24)转换成了整数(1)。
希望这将有助于使其可以理解。 tbh,我不知道你为什么要乘9000,也不知道你的最终目的是什么。