工作满1年年休假5天,每增加1年,年休假多1天,最长不超过15天,该如何做excel函数呢?

工作满1年年休假5天,每增加1年,年休假多1天,最长不超过15天,该如何做excel函数呢?

步骤如下:

1.已知工作年限,求年休假天数:

2.输入公式如下:

3.下拉填充得到结果如下:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-07-29

步骤如下:

1.已知工作年限,求年休假天数:

2.输入公式如下:

3.下拉填充得到结果如下:

本回答被网友采纳
第2个回答  2013-12-20

我已经帮你做好了,这样应该很清楚了吧。可以的话,我就发给你excel

你的问题解决了吗,没解决我再帮你做(我刚给公司人事做了很复杂的年休公式,里面还有超过0.25不超过0.5就算半天,超过0.5而不超过0.75的只能算0.5,超过0.75才算一天)。

第3个回答  2013-12-17

如果a1为输入职日期

=if(datedif(a1,today(),"y"),if(4+datedif(a1,today(),"y")>=15,15,4+datedif(a1,today(),"y")),0)

追问

如果需要将today改为一个特点日期该怎么做啊,直接修改成需要的日期么?

追答

完全可以的,这只是一个例子
您也可以把要求说明我来看看

追问

恩,谢谢你这么耐心的解答,我这个情况还比较复杂,我举个例子好了。
比如说员工是2006-8-3入职,现在需要计算他2014年的年休假期时长,公司的要求是工作满1年年休假5天,每增加1年,年休假多1天,最长不超过15天,问题是他今年年休时间长是11天,下一年的年休按理说应该是12天,用您刚才提供的函数式计算出的时间则是2013年的11天。

还是麻烦您帮忙看看

追答

是的这个是算当年的,您要计算下一年的预计年假?today()返回的值是是今天,如果您明年看这个也是明年的值,他自己就会计算到12

第4个回答  2013-12-17
设工龄在c列,在d2输入:
=if(c2>0,min(c2+4,15),0)追问

那如果是2013年入职,到2014年的工龄不满一年的怎么办啊?

追答

你们公司对不满一年是怎么定义的呢?
你的题目中,只给出了1年以上的情况。也就是,不存在不足1年的情况。
这样吧,把公式改为:
=IF(C2>=1,MIN(C2+4,15),IF(C2>0,INT(5*C2),0))
这样,也就是,工龄不足1年的情况下,你填写实际工作的月除以12的值。并将这个值乘上5得到的整数部分记做实际当年年假天数就可以了。
========
设入职日期在b列,c2可以通过下面的公式获得。
=IF(YEAR(DATE(YEAR(TODAY()),1,1))-YEAR(B2)=1,(12-MONTH(B2)-1)/12,MAX(0,YEAR(TODAY())-YEAR(B2)-1))