欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Office

Excel 根据身份证直接算出退休年月 用哪个函数 如何区别男女

程序员文章站 2022-06-10 11:39:20
这也是学习群里的朋友们提出的问题:如何根据身份证直接算出退休年月? 其实这个问题难就难在: 1、哪个函数最合适; 2、如何区别男、女两种情况。 EDATE函...

这也是学习群里的朋友们提出的问题:如何根据身份证直接算出退休年月?

其实这个问题难就难在:

1、哪个函数最合适;

2、如何区别男、女两种情况。

EDATE函数

以某个日期为起点,算多长时间以后的某时间,可以用一个简单的EDATE函数搞定,尤其是整年整月的情况。

功能:

返回表示某个日期的序列号,该日期与指定日期 (start_date) 相隔(之前或之后)指示的月份数。

语法:

EDATE(start_date, months)

EDATE 函数语法具有以下参数:

Start_date    必需。一个代表开始日期的日期。应使用 DATE 函数输入日期,或将日期作为其他公式或函数的结果输入。例如,使用函数 DATE(2008,5,23) 输入 2008 年 5 月 23 日。

Months    必需。 start_date 之前或之后的月份数。 months 为正值将生成未来日期;为负值将生成过去日期。

备注:

Microsoft Excel 可将日期存储为可用于计算的序列号。默认情况下,1900 年 1 月 1 日的序列号是 1,而 2008 年 1 月 1 日的序列号是 39448,这是因为它距 1900 年 1 月 1 日有 39448 天。

如果 start_date 不是有效日期,则 EDATE 返回 错误值 #VALUE!。

如果 months 不是整数,将截尾取整。

用法举例:

Excel 根据身份证直接算出退休年月 用哪个函数 如何区别男女

(强调:计算结果是序列号,要设置成日期格式)

本示例提示

本示例中:

退休年月是以出生日期为起始时间,女性55年或男性60年以后的年月,所有用EDATE函数。

思路如图:

Excel 根据身份证直接算出退休年月 用哪个函数 如何区别男女

所以,如果身份证在A2单元格,公式为:

=EDATE(DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2)),55*12+MOD(MID(A2,17,1),2)*5*12)

如下图:

Excel 根据身份证直接算出退休年月 用哪个函数 如何区别男女

扩展

昨天讲的Excel162 | 身份证提取的出生日期,你想要什么格式?一文中,TEXT与CONCATENATE函数计算出的不同格式的出生日期,都可以用来计算退休时间。

如下图:

Excel 根据身份证直接算出退休年月 用哪个函数 如何区别男女

当然:现在都说要延迟退休年龄,算法可没有这么简单哦,但原理是如此