工龄工资这个算法,在excel工资表里怎么自动生成呢?

如题所述

第1个回答  2014-05-12

看你写的条件是10年封顶,但最高给出9年的来,所以按9年及以后为220.

各列如上图所示,工龄为手动输入,工龄工资为自动计算,C2公式为:

"=IF(B3=1,15,IF(B3=2,30,IF(B3=3,60,IF(B3=4,100,IF(B3=5,150,IF(B3=6,180,IF(B3=7,200,IF(B3=8,210,220))))))))"

其他各公式按c2右下角+号向下拖出

追问

咋一下拉全是220的?

追答

这个问题在于,你没有给出10年以后的是220还是230,我是按如果大于9年,全部是220元计算的。

追问

最多就是220

追答

如果工龄大于8,就全部都是220了.你看一下你的工龄,是不是220的时候都是超过8年了?

第2个回答  2014-05-12
可用vba
function gl(a as long)
select case a
case =1
gl=15
case =2
gl=30
case =3
gl=60
case =4
gl=100
case =5
gl=150
case =6
gl=180
case =7
gl=200
case =8
gl=210
case =9
gl=220
case >=10
gl=230
end select
end function

把这个代码复制到vba模块中
然后,如果A1为工龄,B1为工龄工资B!=gl(A1)

如果嫌输入公式麻烦,可转换下代码自动全部生成
第3个回答  2014-05-12
假设工龄在A1,则工龄工资为:

=lookup(A1,row(1:10)-1,{0;15;30;60;100;150;180;200;210;220})追问

这个好方便,只是为什么年限对不上,比如达到5年未满6年应该是150,可是公式拉下来后变成了100元

追答

5年是150没错啊,请截图说明情况。

追问

第一行220是我复制公式过来的是对的,第二行是下拉的就变成100了

第4个回答  2014-05-12
可以用if函数,或者VLOOKUP函数。
第5个回答  2014-05-12
=LOOKUP(A1,ROW($A$1:$A$10)-1,{0;15;30;60;100;150;180;200;210;220})追问

能给讲解一下吗?

本回答被提问者采纳
相似回答