干部任免中,如何用 WPS/Excel 计算“连续任职时间”?一文讲清“多少年多少月”
- 2026-11-07 00:57:29
在干部任免、人事档案、任职年限统计中,经常会遇到一个问题:某名干部从某个起始年月任职,到截止年月,连续任职时间到底是几年几个月?
比如:
起始时间:2017.09
截止时间:2026.10
连续任职时间:9年1个月
如果手工算,容易出错;用 WPS/Excel 公式,可以快速统一计算。但前提是:第一个单元格的格式和内容要规范。今天就把这个办公小技巧讲清楚。
一、先明确计算口径
本文所说的“连续任职时间”,是指:
从起始任职年月,到截止年月,按“满年、满月”计算,显示为“多少年多少个月”。
例如:
2017.09 到 2026.10,结果是 9年1个月;
计算时按每月1日作为年月起点,即把 2017.09 视为 2017年9月1日,把 2026.10 视为 2026年10月1日。
二、第一个单元格,最好用什么形式?
这是最关键的一步。
假设第一个单元格是 A1,里面填写起始任职年月,例如:
2017.09
为了后续计算稳定,建议:
把 A1 设置为“文本”格式,输入“四位年份 + 点 + 两位月份”,例如2017.09、2024.10。
这是最稳妥的方式。
哪些形式可以正常计算?
只要满足下面几个条件,一般都可以用同一个公式计算:
不是日期格式;
单元格里没有多余空格;
实际内容能正常显示为“xxxx.xx”,即四位年份、一个点、两位月份;
月份是两位,比如 09、10,不能把9月写成一位的 9 还当成 09 来算。
三、第二个单元格的公式
假设:
A1 是起始任职年月,例如 2017.09;
截止年月是 2026年10月;
第二个单元格用来显示“多少年多少月”。
在第二个单元格输入下面的公式:
=DATEDIF(DATE(LEFT(TEXT(A1,"0.00"),4),RIGHT(TEXT(A1,"0.00"),2),1),DATE(2026,10,1),"Y")&"年"&DATEDIF(DATE(LEFT(TEXT(A1,"0.00"),4),RIGHT(TEXT(A1,"0.00"),2),1),DATE(2026,10,1),"YM")&"个月"
如果 A1 是 2017.09,截止是 2026年10月,结果显示:
9年1个月
四、公式是什么意思?
这个公式看起来长,其实逻辑不复杂:
1. 先取出年份
LEFT(TEXT(A1,"0.00"),4)
把 A1 统一转成两位小数文本,再取前四位,得到年份。
2. 再取出月份
RIGHT(TEXT(A1,"0.00"),2)
取后两位,得到月份。
3. 组成起始日期
DATE(年, 月, 1)
把起始年月变成该月1日。
4. 用 DATEDIF 计算整年数和剩余月数
DATEDIF(起始日期, 截止日期, "Y")
计算满多少年。
DATEDIF(起始日期, 截止日期, "YM")
计算去掉整年之后,还剩多少个月。
最后用 &"年"& 和 &"个月" 拼接起来即可。
五、截止时间怎么改?
上面的公式默认截止到 2026年10月:
DATE(2026,10,1)
如果截止时间变成 2025年12月,只需要把公式里的:
DATE(2026,10,1)
改成:
DATE(2025,12,1)
如果截止到当前月份,可以用:
DATE(YEAR(TODAY()),MONTH(TODAY()),1)
但任免统计一般以文件月份或统计截止月份为准,不建议随意用当前日期。
六、举个例子
2017.09 | 2026.10 | 9年1个月 |
2020.03 | 2026.10 | 6年7个月 |
2024.10 | 2026.10 | 2年0个月 |
只要 A 列的内容都是规范的 xxxx.xx,公式向下填充即可批量计算。