请问excel公式怎么设?

关于工龄的算法。入职日期定义的格式是yy-mm-dd。请问怎么设公式自动得出职工的工龄?
最好是能自己设定一个标准日的。比如我以8月1号为标准去计算职工的工龄。
谢谢~~~
我的意思是,如果以08.08.01为标准日期,那么计算一个员工从入职到8月1日这一天的工龄,是几年几个月。。
谢谢
我现在用的公式是=CONCATENATE(DATEDIF(D5,TODAY(),"y"),"年",DATEDIF(D5,TODAY(),"ym"),"个月")
这样就是每次都会以我做表格时的系统时间为标准日来计算,会有一定误差。所以我想要改进一下。

使用datedif函数就可以实现,例如在A1中输入入职日期,在B1中求工龄,操作如下:

不设定标准日,即按照当前日期来计算的话,在B1单元格中输入下述公式即可:=DATEDIF(A1,TODAY(),"y")

设定标准日计算工龄时,将公式中的当前日期TODAY()换成你要设定的日期即可,例如案例中以8月1号为标准计算,则在B1单元格中输入下述公式即可:
=DATEDIF(A1,"2008-8-1","y")

其他的单元个复制过去就可以了

补充:
你只要把公式中的TODAY()换成具体日期就可以了(日期要加上半角双引号),例如你所说的例子,把公式改成下列式子就可以了:
=CONCATENATE(DATEDIF(D5,"2008-8-1","y"),"年",DATEDIF(D5,"2008-8-1","ym"),"个月")
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-06-12
楼上的方法可行.
另介绍一种方法,设数据如下:
a
b
c
1
代码
数据
70%
2
a01
1
3
a02
2
4
a03
3
5
a04
4
将公式
=if(b2<=4,b2,b2*$c$1)
复制后粘贴到"c2"单元格,对准右下角,光标成"+"状时双击即可.
如果要改为乘80%,只需改"c1"单元格的数据就ok.
第2个回答  2008-08-06
假如A列是开始日期,B列是你设定的标准日,那么在C1用DATEDIF公式,下面是例子(复制到Excel中看效果,记得把入职日和标准日改成日期格式)

入职日 标准日 工龄 工龄(包含月数)
38417 39479 =DATEDIF(A2,B2,"Y") =CONCATENATE(DATEDIF(A2,B2,"Y"),"年",DATEDIF(A2,B2,"YM"),"月")

可能我弄错了你的意思,你说的标准日是指什么?是否是某年8月1日前入职的就算当年入职,如果是8月1日后入职的就算下一年入职?
第3个回答  2008-08-06
=(YEAR(NOW())-YEAR(F3))+IF((MONTH(NOW())-MONTH(F3))<0,-1,0)

其中NOW()是指现在的时间,你也可以换成你刚才说的8月1日的年份,F3是指“入职日期”。
第4个回答  2008-08-06
假定"入职日期"在A1(日期格式),计算到目前为止的工龄:
=TEXT(TODAY()-A1,"y年M个月")
相似回答