Excel公式计算年假,求高手帮忙!

我们公司在对员工在第二年开始给年假,日期这样规定
服务满一年以上未满5年者全年给5天年假
服务满5年以上未满10年者全年给10天
服务满10年以上未满20年者全年给15天
服务满20年以上者年假每增一年给加一天年假,最多以30天为限

有没有公司可以算出全年年假、工龄、截止到当天的年假多少。最后能精确到小数点后两位

假设你入职日期在A列,从A2开始(A1是表头)
B2(工龄)输入
=IF(A2<>"",DATEDIF(A2,NOW(),"Y")&"年"&DATEDIF(A2,NOW(),"YM")&"个月","")
C2(年假天数)输入
=IF(A2<>"",MIN(LOOKUP(DATEDIF(A2,NOW(),"Y"),{0,1,5,10},{0,5,10,15})+(IF(DATEDIF(A2,NOW(),"Y")>=20,DATEDIF(A2,NOW(),"Y")-20,0)),30),"")

最后,B2:C2一起下拉即可。追问

A2是入职日期,B2是年假计算日期,怎么算到B2的时候应该有多少年假呢?

追答

那就在B2输入
=IF(A2"",MIN(LOOKUP(DATEDIF(A2,NOW(),"Y"),{0,1,5,10},{0,5,10,15})+(IF(DATEDIF(A2,NOW(),"Y")>=20,DATEDIF(A2,NOW(),"Y")-20,0)),30),"")

追问

这个公式不论A2是什么日期,B2都是等于5啊

追答

怎么可能呢,我亲自测试成功才发上来的。
你的日期格式请输入2012-2-5这种

追问

有米有累计年假的公式,也就是说入职日期(2010-12-1)到今天应该是有10天

追答

=TODAY()-A2

=DATEDIF(A1,TODAY(),"D")

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-25
计算年假天数:
=if(入职时间-today()>365*20,30,if(入职时间-today()>365*10,15,if(入职时间-today()>365*5,10,if(入职时间-today()>365*1,5,0))))

计算工龄:
=round((入职时间-today())/365,2)

剩余年假:
=全年年假-已休年假
第2个回答  2012-12-25
做到这个不难,但你至少得有个统计表,包括每个人的入职时间、当年已休年假天数