-2

这就是我用 C 编写它的方式。

if (x > 50)
    {
    //Already wrote this
    }

else if((x < 50) && (x > 0))
    {
    if (a < 0.125y)
        {return 0;}
    else if (z >= 50)
        {return 50;}
    else
        {return x;}
    }

else
    { 
    return 0;
    } 

我尝试嵌套大量 iif 语句,但它变得如此混乱以至于无法阅读。有没有更有效的方法?

任何帮助都会很棒。谢谢!

4

1 回答 1

5
iif(x>50,[your code],iif(x > 0, iif(a < .125y,0,iif(z >= 50,50,x)),0)

未来说明:这似乎不是一个巨大的嵌套问题。我见过一些有 10 个或更多级别的,甚至达到了极限(Somewhere @ 10?)。我为复杂问题所做的一个技巧是创建子查询来对主查询进行一些计算。

但是,对于过于复杂的事情,您最简单的选择就是在模块中创建一个公共函数。然后,您可以像通常在查询中使用任何其他评估一样使用它。所以...

Public Function ReturnMyValue(x as Integer, a as integer, y as integer) as Integer 
'your code here
End Function

然后在您的查询中...

=ReturnMyValue(x,a,y)
于 2013-08-05T20:19:00.903 回答