求公式在excel中给x值,得到y值

具体如下: x<=30000, y=0.04x 30000<x<=35000 , y=0.04*30000+(x-30000)*0.045 35000<x<=40000, y=0.04*30000+0.045*5000+(x-35000)*0.045 以此类推5000一加,同时增加的5000提升0.005 我知道是分段函数,但可能用公式给x,就能求出y, 谢谢啦

看不懂,你3万<X<=35000和小于4万的计算方式一模一样,都是乘以0.045

是不是你说错了,这个完全就是大于三万的时候,Y=0.04*30000+(x-30000)*0.045追问

不好意思,我的错,X在35000至40000时,最后的数是0.05

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-21
X输入 A1
B1输入公式

=1200+SUMPRODUCT((ROW($7:$56)<=INT(A1/5000))*(0.04+0.005*ROW($1:$50))*5000)+(0.04+0.005*CEILING((A1-30000)/5000,1))*MOD(A1,5000)追问

完全正确,但是在计算之前判断是否为1000,则执行此操作,否则为0,怎么编辑公式?为感谢本人会多加奖励,谢谢

追答

你的意思应该指的是 1000以下都为0 1000-30000都是 乘0.004 如果这样
公式改为
=IF(A1>=30000,1200+SUMPRODUCT((ROW($7:$56)=1000,A1*0.04,0))

追问

不是,增加一列判断,主要是1000为司机,否则为特殊人员,司机计算的完全正确,特殊人员无需计算,是这个意思

追答

那判断列是在那一列呢?
假设是C列
=IF(C1=1000,1200+SUMPRODUCT((ROW($7:$56)<=INT(A1/5000))*(0.04+0.005*ROW($1:$50))*5000)+(0.04+0.005*CEILING((A1-30000)/5000,1))*MOD(A1,5000),0)
你根据自己的实际列号修改一下

追问

x在30000以内任意一个数结果是#num,这个是不是你忽略啦?

追答

=IF(C1=1000,IF(A1<30000,A1*0.04,1200+SUMPRODUCT((ROW($7:$56)<=INT(A1/5000))*(0.04+0.005*ROW($1:$50))*5000)+(0.04+0.005*CEILING((A1-30000)/5000,1))*MOD(A1,5000)),0)

本回答被提问者和网友采纳