返回列表 发帖

[分享] Excel单元格中奇进偶不进公式

以前就有不少人问我要过试验上经常用到的奇进偶不进公式,方法比较多。今天又有人提到,花了点时间编了一个自以为比较简洁而且所有公式非常简单的方法,不知效果如何,请大家指教。
假如要进行奇进偶不进四舍五入的单元格为“A1",需要保留两位小数,折计算公式:
=IF(AND(INT(100*A1)-2*INT(A1*100/2)=0,(A1*100-INT(A1*100))<0.6),INT(A1*100)/100,ROUND(A1,2))

如果需要保留3位小数,则把式中的100改成1000,同事更改最后的“ROUND(A2,2))”为“ROUND(A1,3))”即可。
=IF(AND(INT(1000*A1)-2*INT(A1*1000/2)=0,(A1*1000-INT(A1*1000))<0.6),INT(A1*1000)/1000,ROUND(A1,3))

如果需要保留N位小数,则把式中的100改成1后面加N个0,同事更改最后部位为“ROUND(A2,N))”即可。
=IF(AND(INT(10^N*A1)-2*INT(A1*10^N/2)=0,(A1*10^N-INT(A1*10^N))<0.6),INT(A1*10^N)/10^N,ROUND(A1,N))


另外还可以用很多别的办法实现
比如:
ROUND(A1/(IF(--(RIGHT(A1/10^(INT(LOG(ABS(A1)))-2),2))=0.5,2,1)*SIGN(A1)*10^(INT(LOG(ABS(A1)))-2)),0)*IF(--(RIGHT(A1/10^(INT(LOG(ABS(A1)))-2),2))=0.5,2,1)*SIGN(A1)*10^(INT(LOG(ABS(A1)))-2)
大家还有什么好办法欢迎交流
!qqconnect:connect_viewthread_share_title!: !qqconnect:connect_viewthread_share_to_qzone!!qqconnect:connect_viewthread_share_to_qzone! !qqconnect:connect_viewthread_share_to_weibo!!qqconnect:connect_viewthread_share_to_weibo! !qqconnect:connect_viewthread_share_to_pengyou!!qqconnect:connect_viewthread_share_to_pengyou!

好东东!
lily

TOP

好东西 谢谢了啊!!!!
工程师

TOP

谢谢分享,
我是试验工程师

TOP

假如公式运用中存在负数应改为:
=IF(AND(INT(100*ABS(A2))-2*INT(ABS(A2)*100/2)=0,(ABS(A2)*100-INT(ABS(A2)*100))<0.6),A2/ABS(A2)*INT(ABS(A2)*100)/100,ROUND(A2,2))

TOP

返回列表