phillyrin
第6楼2011/12/19
这个用公式也不太难,但是要两个单元格,一个保存待评估数据,另一个保存小数点位数。,假设A1保存原始数据,B1保存小数点位数;。
思路如下:
1. 判断原始数据小数点后(B1+1)位是否为5。表达式为:TRUNC(MOD(A1*10^(B1+1),10))=5
2. 如果不为5,直接round
3. 如果为5, 看原始数据小数点后B1位是奇数还是偶数。表达式为:MOD(TRUNC(A1*10^B1),2)=0
4. 如果3 为真,则trunc,否则,roundup
最后,公式为:
=IF(TRUNC(MOD(A1*10^(B1+1),10))=5,IF(MOD(TRUNC(A1*10^B1),2)=0,TRUNC(A1,B1),ROUNDUP(A1,B1)),ROUND(A1,B1))
请大家检验一下。
tangtang
第9楼2011/12/19
感谢参与技术讨论。可惜这个帖子给转移了,我不能给您加分。
请移步化学药分析版,随便回个帖子,我给您加分。
whuisvfg
第10楼2011/12/20
还有一种情况楼上的没有考虑,即当小数点后为5时,还应看5以后有没有数字,如果有,不管前面是偶数还是奇数都要进位的:如2.50000001 保留整数应为3 ,只有2.50000000即5后面全为o时才不进位等于2。