EXCEL中关于工龄和年休假公式设置问题

先说一下我们公司的年假时间计算规定:
3.1、 员工上一年度在公司连续工作满六个月不满一年的,给予年休假2天,不足六个月的,本年度无年休假;
3.2、 员工工作年限在一年以上十年以下的,给予年休假5天;
3.3、 员工工作年限在十年以上二十年以下的,给予年休假10天;
3.4、 员工工作年限在二十年以上的,给予年休假15天;
3.5、 年休假应在当年12月31日前休完,逾期自动清零。
年假计算周期为1月1日-12月31日的自然年
----------------------------------------------------------------------------------------------------------------------------

如上图,之前看到网友提到按自然年计算工龄的公式是:=DATEDIF(A2,DATE(YEAR(TODAY()),1,1),"y");年休假计算方式是:=LOOKUP(B2,{0,1,10,20},{0,5,10,15})
但是由于我们公司规定里有一条: 员工上一年度在公司连续工作满六个月不满一年的,给予年休假2天。我是需要分设工龄年和工龄月还是?怎样设置才能用公式求出公司规定里要求对应的年休假天数呢?
希望能解答,非常感谢!

你这个的标准是什么?
上一年度在公司连续工作满六个月不满一年的,这个是以2014年12月31计算的。

员工工作年限在一年以上十年以下的,这个的工作年限是以哪天计算的?

正确的工龄计算是以入职日期到今天来计算啊。。追问

且抛开国家大的规定吧,只针对公司的制定来说,今年的年休假天数是以上一年度止在公司的服务期限定的。

追答

额,是的,虽然你的企业不厚道,但是这样标准还是统一了。
E2输入:
=IF(D2>DATE(YEAR(NOW())-1,6,30),0,IF(AND(D2>DATE(YEAR(NOW())-1,1,1),DATEDIF(D2,DATE(YEAR(NOW())-1,12,31),"m")>=6),2,LOOKUP(DATEDIF(D2,DATE(YEAR(NOW())-1,12,31),"y"),{1,10,20},{5,10,15})))
下拉即可

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-05-25
你的工龄怎么计算的?=DATEDIF(A2,DATE(YEAR(TODAY()),1,1),"y")这个对吗?比如某人去年5月1日上班的,那到今天已经满1年了,工龄计算得多少?追问

问题里说了,是按自然年计算的。去年5.1入职,今年年休假天数2天。

追答

=IF(YEAR(A1)=YEAR(TODAY())-1,IF(MONTH(A1)<6,2,0),巴拉巴拉)

加个IF判断下,如果是去年入职,且是6月以前的2天假,6月以后的0天。然后再跟其他那堆。

其实我觉得这里用不着DATEDIF,你试下我的公式=IF(YEAR(A1)=YEAR(TODAY())-1,IF(MONTH(A1)<6,2,0),LOOKUP(YEAR(TODAY())-YEAR(A1),{1,10,20},{5,10,15}))
A1是入职时间

第2个回答  2015-05-25
在E2、F2中分别输入或复制粘贴下列公式
=DATEDIF(D2,TODAY(),"Y")
=IF(E2>0,LOOKUP(E2,{0,1,10,20},{0,5,10,15}),IF(DATEDIF(D2,TODAY(),"M")>5,2,0))
选择E2:F2,下拉填充追问

这样求得的工龄不是自然年的,年休假天数也不对

相似回答