|
IF函数是从左向右依次计算的,所以:
1,在你公式的基础上修改的话,你要在判定大于100万且小于等于300万时,加上AND函数,
=IF(C2>3000000,C2*0.25,IF(AND(3000000>=C2,C2>1000000),1000000*0.05+(C2-1000000)*0.1,IF(1000000>=C2,C2*0.05)))
{你原来的公式在函数运行时,利润为10万的例子上,第一层判定不成立,会进入第二层函数IF(3000000>=C2>1000000,...的这个判定,因为C2是10万,所以函数会运行到IF(3000000>=1000000>1000000,...,从左向右依次计算,会变成IF(TRUE>1000000,... 然后TRUE>1000000会被判定为TRUE,所以,函数会在运行到第二层时就结束,得出-40000的结果}
2,如果按照你列出的条件的逻辑顺序写公式,则不需要加AND函数,如下
=IF(1000000>=C2,C2*0.05,IF(3000000>=C2,1000000*0.05+(C2-1000000)*0.1,IF(C2>3000000,C2*0.25)))
这种逻辑顺序则是前一层会给后一层一个严谨的消除范围判定,
非黑即白的层层递进,就不会出错了,(公式可进一步简化,或者逻辑顺序改变后,就是楼上给出的一些公式),但大运则要记住IF函数是从左向右依次进行运算出结果的,如果符合了哪一层,就不再运行更右侧的信息了。
一点拙见 |
|