【问题标题】:Making Sense of Excel Calculations with HH:MM:SS使用 HH:MM:SS 理解 Excel 计算
【发布时间】:2016-02-14 04:51:36
【问题描述】:

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

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

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

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

在上面的公式中,Jataka!$C$60里面的单元格的值为21:11:29,单元格的单元格格式为自定义[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 计算结果的单元格的单元格格式更改为Number 的单元格格式,则在excel 中与190723:29:53 等效的数字为7946.81

如果你取7946.81 并将excel 的MOD 函数与360 的除数一起应用到它,你会得到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 x 24*2.5*5*309000 = 190722.5

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

在上面的 excel 计算中,原始的hh:mm:ss 格式是190723:29:53。 如果您将190723:29:53 转换为十进制,您将得到190723.49805555557

190723.49805555557与我们计算的190722.5不同。

190723:29:53的数字等效格式根据excel是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????

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

我相信这是解决这个问题的两个重要问题:

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

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

【问题讨论】:

    标签: javascript excel math excel-formula modulus


    【解决方案1】:

    因此,我将小时分钟秒更改为十进制等值。十进制的 21:11:29 应该是 21.191388888888888

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

    Excel 中的日期为 1899 年 12 月 31 日之后的每一天 1。今天恰好是 42,413。时间被视为一天的小数部分,因此今天中午是 42,413.5,今天晚上 8:00 是 42,413.83333。

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

    希望这将有助于使其易于理解。 tbh,我不知道你为什么要乘以 9000,也不知道你的最终目的是什么。

    【讨论】:

    • 您好,您有返回 Excel 日期和时间的日期编号的 Javascript 函数的代码片段吗?我在哪里可以找到它?谢谢...
    • 要将 Javascript 时间处理为原始数字与 Excel 日期和时间,您需要进行转换。 Javascript 时间更接近于 POSIX 时间。有关转换因子的说明,请参阅Converting Unix time stamp to dd/mm/yyyy hh:mm:ss。 Javascript 附录在 cmets 中。
    猜你喜欢
    • 2018-04-06
    • 2013-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多