作业帮 > 综合 > 作业

第一个公式:=TEXT(TRUNC(DEGREES(E6)),"000")&"'"&TEXT(TRUNC((DEGREE

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/11 04:57:40
第一个公式:
=TEXT(TRUNC(DEGREES(E6)),"000")&"'"&TEXT(TRUNC((DEGREES(E6)-TRUNC(DEGREES(E6)))*60),"00")&"'"&TEXT(((DEGREES(E6)-TRUNC(DEGREES(E6)))*60-TRUNC((DEGREES(E6)-TRUNC(DEGREES(E6)))*60))*60,"00.00")
第二个公式:
=(TRUNC(B6)/180*PI())+VALUE(MID(TEXT(B6-TRUNC(B6),"0.0000"),3,2)/60/180*PI()+VALUE(MID(TEXT(B6-TRUNC(B6),"0.0000"),5,2)/3600/180*PI()))
最好把每一个地方都解释清楚,
第一个公式是把弧度转换成度分秒的形式.text是定义文本显示方式用的,trunc这里是取整用的,和int一个意思,degrees是把弧度转换成角度的数值,也就是弧度/π*180就是角度,然后角度整数部分显示为000,加个分隔符‘,然后后面分、秒就是各种乘法然后取整的运算.
第二个公式是反向转换,把度分秒转换成弧度而已,pi就是π,角度/180*pi就是弧度.其实有弧度计算公式radians,不用自己去除以180再乘以π.并且这个公式用mid公式取文本中间数字的时候貌似定位有问题,起码逆运算公式1的结果都没用.
如果角度的度不是都需要显示为三位的话,第一个公式可以简化为:
=TEXT(DEGREES(E6)/24,"[hh]'mm'ss.00")
第二个公式可以简化为:
=RADIANS(SUBSTITUTE(B6,"'",":")*24)
简化后的公式是利用了excel自动计算时分秒的功能,把弧度变为角度后除以24,也就是把天先转为小时,然后以时分秒显示,用单引号隔开.第二个公式同理,把角度的单引号替换为冒号,让excel把它当成是时分秒,然后乘以24就变成了天数,再转换成弧度即可.
再问: 第一个公式是不是填个 弧度 到E6 就会显示成度分秒? 第二个公式是不是拟十进制转弧度?
再答: 是的
再问: 呃,第二个公式还是不太理解啊。。。翻译一下嘛
再答: 比如要转的数字是12.3456,(TRUNC(B6)/180*PI())就是取整后/180*pi,也就是12/180*pi。 +VALUE(MID(TEXT(B6-TRUNC(B6),"0.0000"),3,2)/60/180*PI() 首先B6-TRUNC(B6)也就是12.3456-(12.3456取整)也就是0.3456,这里可以用mod(b6,1)来代替,也就是b6除以1的余数。 TEXT(B6-TRUNC(B6),"0.0000")就是把0.3456转为0.0000格式的文本,也就是不管原来几位小数,都变成4位小数。 MID(TEXT(B6-TRUNC(B6),"0.0000"),3,2)就是对这个4位小数的文本从第3个字符开始取2个字符,也就是0.3456从3开始,截取“34”这个文本。 value就是把“34”这个文本转成数值34,然后34/60,因为按照公式作者理解34原来的单位是分,要先除以60再/180*pi才是弧度。 +VALUE(MID(TEXT(B6-TRUNC(B6),"0.0000"),5,2)/3600/180*PI())) 同理,作者想把第5位开始,也就是0.3456的5开始取2个数字“56”,然后秒/3600/180*pi。 最后来说说这个公式的错误,原作者想把度分秒逐个变成弧度,然后相加,可是他忘记了,度分秒的格式里面,是12'34'56这种形式,全部用mid公式没问题,但应该是mid(b6,4,2)和mid(b6,7,2),不用也不能取整,因为这种形式excel是当作文本处理不能直接计算的。 原作者也可能会说,他就是12.3456这种形式,可是他又忘记了一点,如果是12.3456゜的话,是没有分秒的,本来就是小数形式的角度,直接/180*pi就是弧度了,何必多此一举去取位数然后还除以60呢?又不是度分秒。