请教EXCEL中的 TRUNC函数问题?

在EXCEL2007中,使用TRUNC函数,出现奇怪的问题:如下:
TRUNC(0.7*60)=42 结果为42

TRUNC((154.7-154)*60)=41 结果怎么 怎么会41呢 ?
请教高手,是什么原因啊??
比如U17=154.7,我想让V17显示成154°42′00〃的格式,所以编辑公式如下:

=TRUNC(U17)&"°"&TRUNC((U17-TRUNC(U17))*60)&"′"&ROUND(((U17-TRUNC(U17))*60-TRUNC((U17-TRUNC(U17))*60))*60,0)&"〃"

结果出现了154°41′60〃,怎么解决这个问题啊?

这个问题出在小数计算上,实际上在Excel中,154.7-154的结果不是0.7,而是0.699999999999989,虽然这个数很接近0.7,但毕竟不是0.7,所以用Trunc()函数对这个数和60相乘的结果进行处理时就会把41后面的小数给抹去了。

你可以先用Round()函数对计算结果进行一下处理,然后再乘以60,公式如下:
=TRUNC(U17)&"°"&TRUNC(ROUND(U17-TRUNC(U17),1)*60)&"′"&ROUND(((U17-TRUNC(U17))*60-TRUNC((U17-TRUNC(U17))*60))*60,0)&"〃"
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答