在F22单元格输入以下公式
=IFERROR(LOOKUP(C22,{120,300,2000,5000},{0.1,0.15,0.2,0.3})*(C22-E21),"没有")
公式表示:通过C22在120,300,2000,5000为数据点的升序数列中,匹配到小于C22的最大值对应的百分比,然后乘以C22-E21;如果不符合要求返回错误值,就显示“没有”。
详见附图
=IF(C22<120,"没有",IF(C22<299,(C22-E21)*10%,IF(C22<1999,(C22-E21)*15%,IF(C22<4999,(C22-E21)*20%,(C22-E21)*30%))))
跟踪一下,找到产生负数的原因,至少可以肯定不是IF函数的问题。
=IF(C22<120,"没有",IF(AND(C22>120,C22<299),(C22-E21)*10%,IF(AND(C22>300,C22<1999),(C22-E21)*15%,IF(AND(C22>2000,C22<4999),(C22-E21)*20%,IF(C22>5000,(C22-E21)*30%,"")))))
朋友,if 语句里面是不能 IF(120
这个语法是错误的,因为你的判断里面没有交集点,所以可以用and函数
and(120
120
如果用IF嵌套,可改为:
=IF(C22<120,"没有",(C22-E21)*IF(<300,10,IF(C22<2000,15,IF(C22<5000,20,30)))%)
也可以用其他函数代替:
=IF(C22<120,"没有",(C22-E21)*LOOKUP(C22%,{0,3,20,50;10,15,20,30})%)