假设入职时间在C列工龄在D列第一行为表头,在D2输入公式 =year(today())-year(c2)&"年"&month(today())-month(c2)&"月" 回车即可算出工龄
拓展资料:
1.计算年数
这一步比较简单,我们将公式写为:
=DATEDIF(入职日期,截止日期,”y”)
2.计算月数
大家是否还记得在介绍DATEDIF函数的时候,我们讲过一个参数”ym”,意思是忽略年份计算整月数,我们把”m”和”ym”做一个对比。
=DATEDIF(“2018/4/24”,”2020/3/23”,”m”),结果是22;
=DATEDIF(“2018/4/24”,”2020/3/23”,”ym”),结果是10;
可以看到参数ym满足我们的要求。因此,公式写为:
=DATEDIF(入职日期,截止日期,”ym”)
3.计算天数
参考计算月,DATEDIF函数还有一个参数是md,意思是忽略年、月计算天数,因此,公式写为:
=DATEDIF(入职日期,截止日期,”md”)
4.汇总公式
在实际工龄计算中,如果入职日期是2020/3/23,截止日期是2020/3/24日,如果用公式计算=DATEDIF(入职日期,截止日期,”d”),结果是1,但实际工龄应该是2天,因此如果需要这么计算,需要将截止日期+1。
最终公式写为:
=DATEDIF(入职日期,截止日期+1,”y”)&”年”&DATEDIF(入职日期,截止日期+1,”ym”)&”个月零”&DATEDIF(入职日期,截止日期+1,”md”)&”天”。
见下表:
为了公式不太长,引入了辅助列计算工龄的月数,公式为:
=YEAR(B2)*12-YEAR(A2)*12+MONTH(B2)-MONTH(A2)
然后在把这个月数转换为年月,公式为:
=INT(C2/12)&"."&MOD(C2,12)
D1为参加工作,E1为退休,公式如下:
=IF(MONTH(E1)-MONTH(D1)<0,YEAR(E1)-YEAR(D1)-1&"年"&MONTH(E1)+12-MONTH(D1)&"个月",YEAR(E1)-YEAR(D1)&"年"&MONTH(E1)-MONTH(D1)&"个月")
小数点表示:
=IF(MONTH(E1)-MONTH(D1)<0,YEAR(E1)-YEAR(D1)-1&"."&MONTH(E1)+12-MONTH(D1)&"个月",YEAR(E1)-YEAR(D1)&"年"&MONTH(E1)-MONTH(D1))
方法很多,效果如上图,步骤
C2公式 =TODAY()
D2公式 =(YEAR(C2)-YEAR(B2))&"年"&(IF(MONTH(C2) E列采用文字替换就得出想要的结果了
参加工作:单元格A1
退休:单元格B1
工龄:单元格C1
C1中输入公式"=IF(MONTH(B1)-MONTH(A1)>0,YEAR(B1)-YEAR(A1)&"."&MONTH(B1)-MONTH(A1),YEAR(B1)-YEAR(A1)-1&"."&MONTH(B1)-MONTH(A1)+12)"