我想定义以下表达式的功能,并像使用SUM,AVERAGE等方式使用它。正如您所看到的,此公式只有1个论点(单元格值为E28),但是,如果有人可以帮助我对于具有超过1个参数的函数,它将是很棒的!
我是VBA的新手,请原谅我的缺点。
KandhasFormula=IF(AND(E28<250000),0,IF(AND(E28>250000,E28<500000),E28,IF(AND(E28>500000,E28<1000000),12500+0.2*(-500000+E28),112500+0.3*(-1000000+E28))))
答案 0 :(得分:0)
也许是这样?我自由地将“ <”更改为“ <=”,以猜测当您的输入正好等于250000、500000或1000000时您想要的值。
Option Explicit
Function KandhasFormula(rng As Range) As Double
If rng.Count > 1 Or Not VarType(rng.Value) = vbDouble Then Exit Function
If rng.Value <= 250000 Then
KandhasFormula = 0
ElseIf rng.Value > 250000 And rng.Value <= 500000 Then
KandhasFormula = rng.Value
ElseIf rng.Value > 500000 And rng.Value <= 1000000 Then
KandhasFormula = 12500 + 0.2 * (rng.Value - 500000)
Else
KandhasFormula = 112500 + 0.3 * (rng.Value - 1000000)
End If
End Function