已创建示例=(E2+(G2*37))/290
的公式,该公式根据输入的数据返回小数,但无法确定如何舍入答案以获得以下内容:
If 0 to 0.39 round to 0
If 0.4 to 0.89 round to 0.5
If 0.9 to 1.39 round to 1
If 1.4 to 1.89 round to 1.5
If 1.9 to 2.39 round to 2 etc
希望我的问题有道理。感谢
答案 0 :(得分:1)
您的自定义舍入只是四舍五入到最接近的0.5 .....但“偏移量”为0.15。要在A1中舍入值,您可以使用简单的公式来完成,即
=ROUND(A1*2-0.3,0)/2
或用你的计算代替A1成为
=ROUND((E2+G2*37)/290*2-0.3,0)/2
答案 1 :(得分:0)
这有点令人费解,但这应该有效:
=IF(A1 + 0.1 - ROUNDDOWN(A1+0.1;0) < 0.5; ROUNDDOWN(A1+0.1;0); ROUNDDOWN(A1+0.1;0) + 0.5)
其中A1
是您想要舍入的单元格。
e.g。
N.B。
[0, 0.39999999...] [0.4 , 0.8999999...] ...
[0, 0.4) [0.4 , 0.9) ...
答案 2 :(得分:0)
您可以定义一个VBA函数来为您执行此操作:
Public Function CustomRound(number As Double)
Dim result As Double, fraction As Double
fraction = number - Int(number)
If number <= 0.39 Then
result = 0
ElseIf fraction >= 0.4 And fraction <= 0.9 Then
result = Int(number) + 0.5
Else
result = Round(number, 0)
End If
CustomRound = result
End Function
你可以这样称呼:
=CustomRound((E2+(G2*37))/290)
示例:
=CustomRound(0.23) // 0
=CustomRound(1.58) //1.5
=CustomRound(2.12) //2