if函数为什么只有第一个条件生效
修改为以下两条公式,任选一条都可以,公式增加当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""),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-3500)0EXCEL的IF函数是按顺序判断的,先判断第一个条件,如果满足则返回第一个条件的结果,后面的条件则不再理会,如果第一个条件不满足了,再往下判断。而提问中的公式第一个条件就是判断(J4-3500)0,J4-3500这个条件得到的结果除了0以外,就没有第三种可能的啊,所以公式永远不会再执行剩余的判断的,就只在这第一和第二条件中判断,结果当然是出错了。所以题目中的公式是一个逻辑判断先后的错误,应先从最大值到最小值的判断。还有公式的条件判断部份的IF((J4-3500)>0双引号可以省略,写作IF(J4-3500>0,其余部份也是如此。