excel如何根据入职时间计算工龄
工龄计算方法(精确到月)
1.从表格看,某个员工的入职的年月日,知道现在的时间(2015-7-30)用现在的年份减入职的时间就对应了其工龄,这就要用到DATEDIF函数.
2.选定H3根据上述DATEDIF的用法,我们可以写成函数=DATEDIF(G3,NOW(),"Y")&"年"&MOD(DATEDIF(G3,NOW(),"m"),12)&"月",其中NOW()指现在的系统日期(也就是本文档建立的日期)2015-7-30,DATEDIF(G3,NOW(),"Y")表示G3单元格的日期到现在日期之间的年数,DATEDIF(G3,NOW(),"m")指G3单元格的日期到现在的日期之间的月数,MOD(DATEDIF(G3,NOW(),"m"),12)指取两个日期之间月数和12(这里的12就是指1年有12个月)这个数取余,这样函数分析完毕,点击其他任意单元格,张三的工龄就显示出来了。
3.选定H3,按下Ctrl+C 键复制单元格,再次选定其他工龄单元格,按下Ctrl+V 键粘贴单元格,随意点击其他的单元格后即可得到其他人员的工龄了。为了验证该函数的对错,也没有太多的输入,只找了几个具有代表性的,对此可以口算下,函数是没有错误的。
工龄工资计算方法
1.假设该车间的工龄工资的设定:3年以内每月10元,4年时每月20,5年时每月30,6年时每月40,7以上年时每月50。这个要求是以年设定的,相对比较简单,用到函数DATEDIF(G3,TODAY(),"年")提取工龄的年数,用IF语句来判断该数字的大小来决定工龄的工资。
2.根据上述条件选定I3输入函数=IF(DATEDIF(G3,NOW(),"Y")<=3,10,IF(DATEDIF(G3,NOW(),"Y")=4,20,IF(DATEDIF(G3,NOW(),"Y")=5,30,IF(DATEDIF(G3,NOW(),"Y")=6,40,IF(DATEDIF(G3,NOW(),"Y")>=7,50))))) 然后在选择任意一个单元格,就会在I3的单元格显示出张三的工龄工资30.
3.选定I3按下Ctrl+C 键复制单元格,再次选定其他工龄工资单元格,按下Ctrl+V 键粘贴单元格,随意点击其他的单元格后即可得到其他人员的工龄工资了。
应该是计算工龄补贴?50、300是元?
假设A列存放“入职日期”,B列“计补月数”,C列“工龄补贴”。在B2、C2中输入公式:
=INT(DAYS360(A2,TODAY()+15)/30)
=IF(B2/6*50>300,300,INT(B2/6)*50)
然后自动填充至所需行。如此基本能完成题设条件。但是这里有一些必须说明,用DAYS360()函数所求得的是自入职日期到计算当天的天数,按照美国标准:如果起始日期是一个月的 31 号,则等于同月的 30 号。如果终止日期是一个月的 31 号,并且起始日期早于 30 号,则终止日期等于下一个月的 1 号,否则,终止日期等于本月的 30 号。每年以360天计,每月以30天计,14天以内舍去15天以上进位。这与原要求有一点点的出入,或许到了具体人,会有差别,但作为一个规范,还是比较方便与公平的。如果拘泥于按每月15日截止,也许反而会把问题变得相当复杂。补贴以满6个月计,6个月以内舍去,300元封顶。
本题在Excel上运行通过。