在Excel 里工龄1-5年工资为每年津贴5元,6-10年每年10元,11-15年每年津贴15,怎么算

在Excel 里工龄1-5年工资为每年津贴5元,6-10年每年10元,11-15年每年津贴15元,16-20年每年津贴20元,21-25年每年津贴25元,26-30年每年津贴30年,31-35年每年津贴35,这个公式应该怎么弄,看看我做的哪里出错了=IF(A2<=5,A2*5,IF(A2>25,(A2-20)*25+250,(A2-15)*20+150,(A2-10)*15+75,(A2-5)*10+25))

要用IF函数的话,注意要依次判断,也就是<=5判断之后应该是检查是<=10,你然后是>25这样不妥。

由于IF嵌套太多比较复杂,一般这类问题可以使用LOOKUP来做,例如:

=A2 * LOOKUP(A2, {0,1,6,11}, {0,5,10,15})

例如:

LOOKUP后面两个参数,第二个是起点值,第三是结果值

追问

我是小白一名,完全不懂,你能把算法的全部公式给我吗?

追答

再写一次公式,请粘贴使用(下面整行):

=A2 * LOOKUP(A2, {0,1,6,11}, {0,5,10,15})

追问

不是这样的算法,比如说我现在说6年工龄=5*5+10元,11年工龄是5*5+5*10+15,以此类推

追答

终于明白你的意思了,请使用下面的公式计算:

=INDEX({5,10,15,20,25,35,45,55,65,75,90,105,120,135,150,170,190,210,230,250,275,300,325,350,375,405,435,465,495,525,560,595,630,665,700,740,780,820,860,900,945,990,1035,1080,1125,1175,1225,1275,1325,1375,1430,1485,1540,1595,1650,1710,1770,1830,1890,1950,2015,2080,2145,2210,2275,2345,2415,2485,2555,2625,2700,2775,2850,2925,3000,3080,3160,3240,3320,3400,3485,3570,3655,3740,3825,3915,4005},A2)

效果:

有个数学问题我还没有解决,暂时公式比较长,还可以化简,你先用着吧。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-07-19
用IF写的话,是这样的:

=IF(A2<=5,A2*5,IF(A2<=10,A2*10,IF(A2<=15,A2*15,IF(A2<=20,A2*20,IF(A2<=25,A2*25,IF(A2<=30,A2*30,IF(A2<=35,A2*35,"")))))))
但是,你这个问题其实是很有规律性的,所以有更简洁的公式可以用:
你试试这条公式,又简洁又好用:
=A2*CEILING.MATH(A2,5)追问

不是这样的算法,比如说我现在说6年工龄=1×10+25元,7年=2×10+25,11年工龄是1×15+75,13年=3×15+75以此类推

追答

哦哦,是这样啊,那试试这个公式 :
=CEILING.MATH(A1,5)*(SUBSTITUTE(MOD(A1,5),0,5)+(CEILING.MATH(A1,5)-5)/2)

相似回答