【发布时间】: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:29 和24*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*30 或9000 乘以它。
21.191388888888888 x 24*2.5*5*30 或 9000 = 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