很多行政或者HR在工作中都需要汇总在职人员的工龄,有点是以天来计算,有的则是以年-月-日的形式,以天来计算的话还是简单的,假设有下面这一张表,你的领导要求你计算下表中八位在职人员的工龄,以天为单位即可。
![c5fb560403ebcd26b3f0ee76014bf754.png](https://i-blog.csdnimg.cn/blog_migrate/fa54ee3c01b87504d12360515906414d.jpeg)
如果只是计算天数的话那么我就可以用days函数,公式如下:
=DAYS(TODAY(),B3)&"天"
![61923be77bf4cd6d20996e8e1ad29202.png](https://i-blog.csdnimg.cn/blog_migrate/cbfd43da97f7c3046a1ac21c77eaa4d3.jpeg)
today()函数即即返回今天的日期,然后减去入职日期,就能得到目前为止累计在职天数了。
但是如果你的老板要求你按照年-月-日的格式计算工龄,该怎么解呢?我先把公式给到吧哈哈
CONCATENATE(DATEDIF(B2,TODAY(),"y"),"年",DATEDIF(B2,TODAY(),"ym"),"个月",DATEDIF(B2,TODAY(),"md"),"天")
![d914689abdd0c758b21a9c6d7e657487.png](https://i-blog.csdnimg.cn/blog_migrate/5004078db84fe11e141aaf06cac3f865.jpeg)
这里边一个关键的函数就是datedif,这是一个隐藏函数,他的基本用法是datedif(开始时间,结束时间,"时间维度"),前两个参数很好理解哈,最后一个“时间维度”的意思就是你打算按照什么维度显示两者的时间差,比如我公式内的DATEDIF(B2,TODAY(),"y"),这个y代表的就是年,如果两者天数差大于365那么这个数字就会返回1,我们再看DATEDIF(B2,TODAY(),"ym")内的ym,数学上就可以理解为天数除以365后再除以30然后取整,最后一个datedif内的md就是天数除以365后再除以30然后取“余”,这样的话就可以把工龄按照年-月-日维度来计算了,最后再用一个concatenate函数把三个datedif函数返回的值给合并,大功告成~