使用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:2924*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*309000乘以它。 21.191388888888888 × 24*2.5*5*309000 = 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:29TIME(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,也不知道你的最终目的是什么。