求年假的EXCEL计算公式

2025-04-03 13:24:07
推荐回答(4个)
回答1:

=IF(DATEDIF(G2,TODAY(),"y")=0,"0",IF(DATEDIF(G2,TODAY(),"y")=1,"5",IF(DATEDIF(G2,TODAY(),"y")=2,"7",IF(DATEDIF(G2,TODAY(),"y")>=3,"9",))))

DATEDIF(G2,TODAY(),"y")代表计算合同到现在的年数,后面就是根据计算出来的年数用IF根据1年就显示,5,2就显示7,3或3以上就显示9.

朋友,你采纳的答案存在问题,小于1年的,他用的是<365就等于5天,就是只要不满365结果就是5天,如果进入公司2个月呢,也有5天吗。你自己可以套一下日期看结果。

回答2:

按每年365天,每月30天算,我想思路大概是这样:
入职天数=当前日期-入职日期【=NOW()-A2】
入职天数<365天——没有年假【=IF(B2<365,0)】
入职天数在365~730天——5天年假+(入职天数-365天)/60天【=5+(B2-365)/60】
入职天数在730~1265天——(入职天数-365天)/60天【=(B2-365)/60】
入职天数超过1265天——15天年假期
最后向下取整【ROUNDDOWN】函数
完整公式:=ROUNDDOWN(IF($B$2>1265,15,IF($B$2>730,(B2-365)/60,IF(B2>365,5+(B2-365)/60,0))),0)

回答3:

如果希望是,一年之内为5天,2年之内为7天,2年以上(如2年半)为9天,则:

=IF(A1="","",IF((TODAY()-A1)<365,5,IF((TODAY()-A1)<(365*2),7,9)))

如果需求和这个不太一样,修改相应的数字(365、365*2)即可

回答4:

没有表格的行号列号,这里假设你截图中“张三”所在单元格为F4
你的第一年是满12个月算一年,还是过元旦之前是第一年,过了元旦就是第二年?
如果是第一种情况公式,在H4中输入公式:
=IF(DATEDIF(G4,NOW(),"m")<12,5,IF(DATEDIF(G4,NOW(),"m")<24,7,9))
如果是第二种情况,在H4中输入公式:
=IF(YEAR(NOW())-YEAR(G4)=0,5,IF((YEAR(NOW())-YEAR(G4))=1,7,9))