先说一下我们公司的年假时间计算规定:
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天。我是需要分设工龄年和工龄月还是?怎样设置才能用公式求出公司规定里要求对应的年休假天数呢?
希望能解答,非常感谢!
ä¸æå¼å½å®¶å¤§çè§å®å§ï¼åªéå¯¹å ¬å¸çå¶å®æ¥è¯´ï¼ä»å¹´çå¹´ä¼å天æ°æ¯ä»¥ä¸ä¸å¹´åº¦æ¢å¨å ¬å¸çæå¡æéå®çã
追çé¢ï¼æ¯çï¼è½ç¶ä½ çä¼ä¸ä¸åéï¼ä½æ¯è¿æ ·æ åè¿æ¯ç»ä¸äºã
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})))
ä¸æå³å¯
问题里说了,是按自然年计算的。去年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是入职时间
这样求得的工龄不是自然年的,年休假天数也不对