我正在把一些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
的计算。
根据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
?
即使我第一次在excel中将21:11:29
转换为Number
,也会得到0.88
的值。
我相信这是解决这个问题的两个重要问题:
1.)excel使用什么公式将21:11:29
乘以Number
2.)以及excel如何将HH:MM:SS格式的值(如21:11:29
)转换为Number
发布于 2016-02-14 07:06:59
因此,我将小时分钟秒更改为十进制等效值。小数中的21:11:29应该是21.191388888888888
21:11:29
或TIME(21, 11, 29)
不是21.191388888888888
。
在Excel中,1是指1899年12月31日以后的每一天.今天正好有42,413人。时间被认为是一天中小数的一部分,所以今天中午是42,413.5,今天晚上8:00是42,413.83333。
你21:11:29的时间(没有日期成分)等于~0.882974537,而不是21.191388888888。如果你把它乘以24 (一天中的小时数),那么它就是21.191388888888,因为你已经把一天中的分数(⁄₂₄)的小时转换成整数(1)。
希望这将有助于使它可以理解。我不明白你为什么要乘以9000,也不知道你的最终目的是什么。
https://stackoverflow.com/questions/35388475
复制相似问题