如果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
那如果是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))