Excel 函数高手请帮帮我
来源:百度知道 编辑:UC知道 时间:2024/05/22 18:55:54
=IF(MOD(MID(RIGHT(A1,2),1,1),2)=1,ROUNDUP(A1,2),ROUNDDOWN(A1,2))
输入完成后,设置单元格格式中把小数位设置3位。
如果得到数字不参加运算可以直接输入:
=TEXT(IF(MOD(MID(RIGHT(A1,2),1,1),2)=1,ROUNDUP(A1,2),ROUNDDOWN(A1,2)),"0.000_ ")
就直接得到数,但是进行运算时 可能 出现错误。
上边的公式得到的数值可以直接参加运算没事的。
不太明!
如:
521.250
521.251
521.260
521.269
由如何呢?
是否以上四个数都要求传回521.260
即小数第2位永远不会是 奇数
如是, 公式:
=IF(MOD(A1,0.02)>0.009999,CEILING(A1,0.02),FLOOR(A1,0.02))
hong4777 的公式对题目的理解, 与我不同,
但要注意:
其公式一定要A1的数字是小数后三位数才有效, 否则会计算错误, 如是1位小数, 更会出错误值
好象在Office 2003以上版本的“四舍五入”规则是这样的,以下版本只能通过变通方法。
一、VBA写个宏
Function Round2(ByVal Number As Double, Optional Num_Digits As Integer = 2) As Double
'四舍五入函数(二)
'前面一位是奇数就进,如果是偶数就退
Dim residue As Double
residue = Abs(Number * 10 ^ Num_Digits - Fix(Number * 10 ^ Num_Digits)) '舍位后面的余数
If residue <> 0.5 Then
Round2 = Round(