问题:【第一个公式:=TEXT(TRUNC(DEGREES(E6)),quot;000quot;)amp;quot;#39;quot;amp;TEXT(TRUNC((DEGREES(E6)-TRUNC(DEGREES(E6)))*60),quot;00quot;)amp;quot;#39;quot;amp;TEXT(((DEGREES(E6)-TRUNC(DEGREES(E6)))*60-TRUNC((DEGREES(E6)-TRUNC(DEGREES(E6)))*60))*60,quot;00.00quot;)第二个公式:=(TRUNC(B6)/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呢?又不是度分秒。