修改为以下两条公式,任选一条都可以,公式增加当J4是空白时也返回空白值的判断。
公式一:
=IF(J4>83500,(J4-3500)*0.45-13505,IF(J4>58500,(J4-3500)*0.35-5505,IF(J4>38500,(J4-3500)*0.3-2775,IF(J4>12500,(J4-3500)*0.25-1005,IF(J4>8000,(J4-3500)*0.2-555,IF(J4>4500,(J4-3500)*0.1-105,IF(J4>3500,(J4-3500)*0.03,IF((J4<=3500)*(J4<>""),0,""))))))))
公式二:
=IF(J4-3500>80000,(J4-3500)*0.45-13505,IF(J4-3500>55000,(J4-3500)*0.35-5505,IF(J4-3500>35000,(J4-3500)*0.3-2775,IF(J4-3500>9000,(J4-3500)*0.25-1005,IF(J4-3500>4500,(J4-3500)*0.2-555,IF(J4-3500>1500,(J4-3500)*0.1-105,IF(J4-3500>0,(J4-3500)*0.03,IF((J4-3500<=0)*(J4<>""),0,""))))))))
提问中的公式这儿出错了: (J4-3500)<=0,0,IF((J4-3500)>0
EXCEL的IF函数是按顺序判断的,先判断第一个条件,如果满足则返回第一个条件的结果,后面的条件则不再理会,如果第一个条件不满足了,再往下判断。
而提问中的公式第一个条件就是判断(J4-3500)<=0 第二个条件是:IF((J4-3500)>0,J4-3500这个条件得到的结果除了<=0和>0以外,就没有第三种可能的啊,所以公式永远不会再执行剩余的判断的,就只在这第一和第二条件中判断,结果当然是出错了。
所以题目中的公式是一个逻辑判断先后的错误,应先从最大值到最小值的判断。还有公式的条件判断部份的IF ((J4-3500)>0 双引号可以省略,写作IF(J4-3500>0,其余部份也是如此。
温馨提示:答案为网友推荐,仅供参考