EXCEL中计算工龄(月)的公式

例如:
就职时间 2012.01.01(EXCEL表格中的写法也为2012.01.01)
计算工龄为多少个月

计算月数公式为:(年份-年份)×12+月份-月份+1。具体操作方法是:


1、首先开excel表,输入人员基本信息。本教程主要是计算连续工龄,所以示例主要列出了参工时间和退休时间,下面运用Excel公式进行连续工龄的计算。



2、在连续工龄栏目,这里的公式输入需要在英文半角状态下完成。因为是计算月数,所以,公式应为:(年份-年份)×12+月份-月份+1。在连续工龄栏目下面,双击单元格,输入=号,因为是年份,所以需要对前面两栏目取年份,然后在=后面输入year,再输入()。



3、这里的括号里面要填入数列序号,数列序号就是退休时间所在列的序号,我们点击该栏目的退休时间,该数列自动出现在括号内。



4、按上述方法完成年份差值转换成月数的计算公式,输入后的公式见图。



5、然后再把不足一年的月份差值计算公式输入进去,月份就是month。在年月差值公式输入完成后,需要+1。这是因为,我们计算连续工龄,参加工作时间的第一个月也要计算在内。



6、公式输入完成后,按下回车键。这时,月份就计算出来了。



7、计算出来后,选中该单元格,拖动该单元格右下角向下,可以把表中每个人的连续工龄月数计算出来。


温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-10-04

看下边例子,B2公式=TEXT(DATEDIF(A2,TODAY(),"y"),"0年;;;")&TEXT(DATEDIF(A2,TODAY(),"ym"),"0个月;;;"),然后下公式。

由内而外公式解析:

    TODAY()函数:返回今天的日期,不需要参数;

    DATEDIF()函数:

    DATEDIF(start_date,end_date,unit)

    Start_date 为一个日期,它代表时间段内的第一个日期或起始日期。

    End_date 为一个日期,它代表时间段内的最后一个日期或结束日期。

    Unit 为所需信息的返回类型。

    Unit 返回

    注:结束日期必须大于起始日期


    "Y" 时间段中的整年数。

    "M" 时间段中的整月数。

    "D" 时间段中的天数。

    "MD" start_date 与 end_date 日期中天数的差。忽略日期中的月和年。

    "YM" start_date 与end_date 日期中月数的差。忽略日期中的年。

    "YD" start_date 与 end_date 日期中天数的差。忽略日期中的年。

    TEXT()函数:将计算结果设置规定的格式,三个分号将格式隔成四部分,分别是“正数;负数;零值;文本”,本公式中“负数;零值;文本”部分都没写东西,意思就是不显示,作用是去除0值,如果直接将计算结果&“年”,将会出现0年4个月。

第2个回答  推荐于2018-09-05
为什么要写成2012.01.01,建议使用标准的日期格式,比如2012-01-01。
这样就可以直接用DATEDIF函数了:
=DATEDIF(A1,TODAY(),"m")

当然,如果你的2012.01.01本身就是日期,自定义为2012.01.01的显示格式的话,也可以直接用上面的DATEDIF函数

如果你的2012.01.01不是日期格式,而是文本的话,也能通过公式实现目的,但是太繁琐了。=DATEDIF(DATE(LEFT(A1,4),MID(A1,6,2),RIGHT(A1,2)),TODAY(),"M")

以上公式假定A1中是就职日期本回答被提问者和网友采纳
第3个回答  2017-12-26
为什么要写成2012.01.01,建议使用标准的日期格式,比如2012-01-01。
这样就可以直接用DATEDIF函数了:
=DATEDIF(A1,TODAY(),"m")

当然,如果你的2012.01.01本身就是日期,自定义为2012.01.01的显示格式的话,也可以直接用上面的DATEDIF函数

如果你的2012.01.01不是日期格式,而是文本的话,也能通过公式实现目的,但是太繁琐了。=DATEDIF(DATE(LEFT(A1,4),MID(A1,6,2),RIGHT(A1,2)),TODAY(),"M")

以上公式假定A1中是就职日期
第4个回答  2012-07-13

是这个意思吗

相似回答