使用 HH:MM:SS 理解 Excel 计算

Making Sense of Excel Calculations with HH:MM:SS

我正在将一些 excel 计算转换为 Javascript。

我在excel中遇到了一个计算,它使用格式为HH:MM:SS的输入值来计算一个值,这似乎没有意义。

首先,这是我试图理解的公式:

=MOD((Jataka!$C*24*2.5*5*30), 360)

在上面的公式中,Jataka!$C内的单元格的值为21:11:29,单元格的单元格格式为自定义[h]:mm:ss

以下是 excel 分解为更小步骤的计算结果:

因为 Jataka!$C = 21:11:2924*2.5*5*30 = 9000

(Jataka!$C*24*2.5*5*30) 根据 excel 等于 190723:29:53

如果您随后将保存 190723:29:53 计算结果的单元格的单元格格式更改为 Number 的单元格格式,则 190723:29:53 的数字等价于 excel 是 7946.81.

如果你使用 7946.81 并应用 excel 的 MOD 函数和 360 的除数,你会得到 [= 的计算值和最终值28=].

换句话说:=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 x 24*2.5*5*309000 = 190722.5.

此时我注意到我对 190722.5 的计算不同于 excel 原始 hh:mm:ss 格式和 Number 等效格式的计算。

在上述 excel 计算中,原始 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 文件中,我的计算结果是 26.81,它基于: =MOD(7946.81, 360) = 26.81242183

我在这里有什么不明白的? 我错过了哪一步?

excel 如何将 21:11:29 之类的值转换为 Number ?????

即使我首先将 21:11:29 转换为 excel 中的 Number,我也得到 0.88 的值。

我认为这些是解决此问题的两个重要问题:

1.) excel 用什么公式将 21:11:29 乘以 Number

2.) 以及 excel 如何将格式为 HH:MM:SS 的值(如 21:11:29 转换为 Number

Therefore I change hour min sec to a decimal equivalent. 21:11:29 in decimal is suppose to be 21.191388888888888

21:11:29TIME(21, 11, 29) 不是 21.191388888888888

Excel 中的日期是 1,代表 1899 年 12 月 31 日之后的每一天。今天刚好是42413。时间被认为是一天的小数部分,所以今天中午是 42,413.5,今天 8:00 下午是 42,413.83333。

您 21:11:29 的时间(没有日期部分)等于 ~0.882974537,而不是 21.191388888888。如果将它乘以 24(一天中的小时数),那么它就是 21.191388888888,因为您已将小时数从一天的小数部分 (¹⁄₂₄) 转换为整数 (1)。

希望这有助于使它易于理解。老实说,我不明白你为什么要乘以 9000,也不知道你的最终目的是什么。