急求Excel年资计算方法!!!
10月14日入职算10月,10月16日入职算11月。 展开
新建一张表格,如图所示,在表中输入姓名、上班时间、工龄、医疗补助、工龄工资、基本工资、总工资这些项目,在姓名中输入员工姓名,上班时间中输入一些时间,如图所示。
选择C3单元格,输入函数=DATEDIF(B3,TODAY(),"y"),回车,然后用填充手柄把其他单元格也填上,就可以看到工龄了。
现在我们来输入医疗补助,医疗补助是工龄每半年加50元,最高300元,选择D3单元格,输入函数=MIN(SUM(IF(DATEDIF(B3,TODAY(),"ym")>=6,50,0),DATEDIF(B3,TODAY(),"y")*100),300),回车,然后用填充手柄把其他单元格也填上,就可以看到医疗补助了。
现在我们来输入工龄工资,医疗补助是工龄每半年加30元,满一年加50元,最高500元,选择E3单元格,输入函数=MIN(SUM(IF(DATEDIF(B3,TODAY(),"ym")>=6,30,0),DATEDIF(B3,TODAY(),"y")*50),500),回车,然后用填充手柄把其他单元格也填上,就可以看到工龄工资了。
我们在F列中输入基本工资2500元,选择G3单元格,输入函数=SUM(D3:F3),回车,然后用填充手柄把其他单元格也填上,就可以看到总工资了。现在表格就制作好了。
时间函数:YEAR(),MONTH(),DAY().(年、月、日)
设D列为入职时间D2 E列为截止时间E2 F列为年资F2
F2
=((YEAR(E2)-YEAR(D2))*12+(MONTH(E2)-MONTH(D2)+1)+IF(DAY(D2)>=16,-1,0))/12
或
=IF(D2=0,0,ROUND(((YEAR(E2)-YEAR(D2))*12+(MONTH(E2)-MONTH(D2)+1)+IF(DAY(D2)>=16,-1,0))/12,2))
测试通过,其中条件值>=16日为少一个月。
也可用舍位函数,使值为固定小数
=ROUND((((YEAR(E3)-YEAR(D3))*12+(MONTH(E3)-MONTH(D3)+1)+IF(DAY(D3)>=16,-1,0))/12),2)
引号内的日期 可以用两单元格替代