EXCEL如何用函数计年资

2024-11-29 02:47:11
推荐回答(4个)
回答1:

  根据描述,不好分辨是要求从入职到现在总共应得的工资,还是应该增加的工资?

假设按计算某员工入职以来总共的工资,那至少需要5列数据,分别是:姓名、入职日期、现在日期、工龄年薪、工作年薪。如果需要统计总年资的话,可以加一列“综合年资”,当然也可以把所有的年资都放在一个公式里。


  1. 以下面的表格为例。具体项目根据自己的需求进行增删。

  2. 两个日期的单元格格式改为日期,这样只需要在B2输入年月日,C2采用TODAY函数就可以了。

    我们需要的是通过对比C2和B2的年份差距,找出该员工每月应该增加的薪资。这里面最重要的是工龄工资的求法,因为这是个变量。

  3. 上面的图是在D2输入的公式:=MIN((DATEDIF(B2,C2,"Y")-1)*100*12,600*12)

    公式说明:MIN函数是两相对比,取较小的值;DATEIF函数是对比两个日期之间整年的差距数,是周年方式计算的;里面有两个特殊的赋值,就是DATEIF函数得数-1和两个数据分别*12。

  4. 因为根据你题意的描述,是只要满一年工龄了,从第二年起每月增加100元(根据题意得知,如有不符请根据实际情况改正)。

    所以这个公式的意思就是:对比现在日期距离入职日期有几年了,把这个数减去1(第一年不领),然后年数乘以每年增加的工资(100/月乘以12个月),就是累计增加的年资了。把这个数和7200/年的封顶线(600/月乘以12)进行对比,哪个小就在该单元格显示哪个数字。

  5. 这样得出了工龄年资,再加上入职以来正常工作应得的工资(这里默认年资50000,乘以了工作年限,即E2=5000*DATEDIF(B2,C2,"Y")),就是该员工总共拿到的全部工资了。


  估计和你的实际需求有一定出入,因为你给出的题目不太明确,加之单位不统一。所以按你给出的条件进行的计算,请根据实际情况进行修正。

回答2:

假设入职日期在A1,计算日期(工资所属月份)在B1,那公式为:
=MIN(DATEDIF(A1,B1,"Y")*100,600)
DATEDIF函数意思是A1,B1之间相差的年数(整数)
MIN函数的意思是实际年资与600相比,取较小的。

回答3:

A入职日期 B计算日 C工龄 D列年资标准 E列应得年资
DATEDIF(B2,C2,"Y")  400 =IF(D2<=6,SUMPRODUCT(D2,E2),"600")

回答4:

在G2中输入:=DATEDIF(A2,B2,"y")
会得到工龄。