
excel 计算年资
算法上怎么实现?
例如张三 2001-7-14日进入公司 需要转换成2001-7-1
李四 2001-7-15进入公司 需要转换成2001-8-1 展开
推荐于2016-01-20 · 知道合伙人软件行家

方法:
1.新建一张表格,如图所示,在表中输入姓名、上班时间、工龄、医疗补助、工龄工资、基本工资、总工资这些项目,在姓名中输入员工姓名,上班时间中输入一些时间,如图所示。
2.选择C3单元格,输入函数=DATEDIF(B3,TODAY(),"y"),回车,然后用填充手柄把其他单元格也填上,就可以看到工龄了。
3.现在来输入医疗补助,医疗补助是工龄每半年加50元,最高300元,选择D3单元格,输入函数=MIN(SUM(IF(DATEDIF(B3,TODAY(),"ym")>=6,50,0),DATEDIF(B3,TODAY(),"y")*100),300),回车,然后用填充手柄把其他单元格也填上,就可以看到医疗补助了。
4.现在来输入工龄工资,医疗补助是工龄每半年加30元,满一年加50元,最高500元,选择E3单元格,输入函数=MIN(SUM(IF(DATEDIF(B3,TODAY(),"ym")>=6,30,0),DATEDIF(B3,TODAY(),"y")*50),500),回车,然后用填充手柄把其他单元格也填上,就可以看到工龄工资了。
5.在F列中输入基本工资2500元,选择G3单元格,输入函数=SUM(D3:F3),回车,然后用填充手柄把其他单元格也填上,就可以看到总工资了。现在表格就制作好了。
经过我试验,完全能够达到你的要求。
不知道我说的意思你明白没。
=IF(AND(DAY(A1)>14,MONTH(A1)=12),YEAR(A1)+1&"-"&1&"-"&1,IF(AND(DAY(A1)>14,MONTH(A1)<12),YEAR(A1)&"-"&MONTH(A1)+1&"-"&1,YEAR(A1)&"-"&MONTH(A1)&"-"&1))
=IF(DAY(A1)>14,YEAR(A1)&"-"&MONTH(A1)+1&"-"&1,YEAR(A1)&"-"&MONTH(A1)&"-"&1)
就可以转化了
=IF(DAY(A1)<15,DATEDIF(A1-DAY(A1)+1,NOW(),"Y"),DATEDIF(DATE(YEAR(A1),MONTH(A1)+1,1),NOW(),"Y"))