近来见论坛上有朋友发关于数值修约D贴,好心也上来补充补充,希望对各位有所帮助。
以修约至0.01为例说明如下:=IF(INT(AVERAGE(A1:A2)*100)/100=AVERAGE(A1:A2),AVERAGE(A1:A2),IF(MOD(INT(AVERAGE(A1:A2)*100),2)=0,ROUND(INT(AVERAGE(A1:A2)*100)/100,2),ROUND(INT(AVERAGE(A1:A2)*100)/100+0.01,2)))
释译:
INT(AVERAGE(A1:A2)*100)/100=AVERAGE(A1:A2):此部分判断两单元格中平均值是否存在均值与取整后至0.01是否相等。也就是说,如果均值结果小数位数有效数字正好有两位,则不需考虑修约问题;如果不是,则为考虑对象。
MOD(INT(AVERAGE(A1:A2)*100),2)=0:此部分判断0.01位数为奇偶,得0为偶。
ROUND(INT(AVERAGE(A1:A2)*100)/100,2):此部分为对0.01位后小数部分进行舍去,即表示0.01位为偶数。
ROUND(INT(AVERAGE(A1:A2)*100)/100+0.01,2):此部分为对0.01位后小数部分进一位,即表示0.01位为奇数。
值得注意的是,如果要保留至0.1位,则相应的100改为10,0.01改为0.1,以此类推即可。
修约.rar