Excel根据工龄计算年终奖方法
很多公司的年终奖都是根据工龄计算,基本上都大同小异。今天,卢子分享各种可能的情况,一起来学习。
以下所有案例,截止日期都是2020/1/1。
1.满1年奖励1个月的工资,满2年奖励2个月的工资,以此类推。
使用公式:
=DATEDIF(D4,$E$1,"y")*C4
DATEDIF函数第3参数为"y"就代表统计两个日期之间的年份,最后再乘以月薪就可以计算年终奖。
2.满1年奖励1个月的工资,满2年奖励2个月的工资,以此类推。不足1年奖励半个月的工资。
最常用的方式,就是用IF函数判断奖金是否为0,如果为0就是半个月工资,否则按原来的方法计算。
=IF(E4=0,C4*0.5,E4)
将E4的公式替换进去就得到最终的。
=IF(DATEDIF(D4,$E$1,"y")*C4=0,C4*0.5,DATEDIF(D4,$E$1,"y")*C4)
其实也可以利用个税小于0,嵌套MAX函数处理的思路,让公式更加简洁。
个税小于0的处理公式:
=MAX(0,个税)
将0换成半个月工资即可。
=MAX(C4*0.5,DATEDIF(D4,$E$1,"y")*C4)
3.不足1年奖励半个月的工资,满1年奖励1个月的工资,满5年奖励2个月的工资,满10年奖励3个月的工资。
工龄的区间没有规律,这种可以建立一个对应表,然后用VLOOKUP函数进行查找。
=VLOOKUP(DATEDIF(D4,$E$1,"y"),$I$4:$J$7,2)*C4
VLOOKUP函数第4参数省略,就是按区间查找。
4.不足2年没有奖励;
满2年奖励1个月工资,2年1个月奖励1个月+1/12个月工资,2年2个月奖励1个月+2/12个月工资,也就是说每增加1个月奖励1/12个月的工资;
满3年奖励2个月工资。
这种,最简单的方法,同样是建立一个对应表,然后用VLOOKUP函数进行查找。
=VLOOKUP(DATEDIF(D4,$E$1,"m"),$L$4:$M$17,2)*C4
跟前面案例不同,这里全部转换成月份,用月份比较比用年更方便。
最后,再详细介绍DATEDIF函数的用法。
这个函数可以获取两个日期相差的年月日。这是隐藏函数,跟普通函数有所区别,在输入的时候没任何提示。即使你输入date也看不到任何关于这个函数的信息,所以当你输入函数的时候,找不到是很正常的。
计算两个日期相差的年月日,y代表年,m代表月,d代表日。
=DATEDIF(A2,B2,"y")
=DATEDIF(A2,B2,"m")
=DATEDIF(A2,B2,"d")
不过这种算法又有一个问题,在计算月的时候没有忽略年,在计算日的时候没有忽略月。因此,出现了一种新的方法,ym代表忽略年计算月,md代表忽略月计算日。
=DATEDIF(A2,B2,"y")
=DATEDIF(A2,B2,"ym")
=DATEDIF(A2,B2,"md")