首页>工作相关>在EXCEL中根据出生年龄计算延迟退休的尝试

在EXCEL中根据出生年龄计算延迟退休的尝试

之前尝试用EXCEL拉了一张延迟退休表生成了文字版本而非图片版本的延迟退休表格。但也遗留了一个问题,就是如果根据单个表格内的出生日期,来计算延迟退休的日期。其实当时也做过类似的尝试了,这里尝试补完一下。

日期函数

在EXCEL中,类似2025/1/2这样的标准日期数据,可以通过函数分别提取出年、月、日信息,函数名也很顾名思义,分别是:

YEAR()
MONTH()
DAY()

延迟月份计算尝试

因为男女退休年龄不同,女同胞又分为两档,这里就仅讨论男职工的退休,流程更为清晰一些。男职工的退休最早一批是自1965年1月开始。之前的其实基本不需要考虑了,因为在您看到这篇文章的时候,该退的已经退了,保险起见可以加一个判断,如果出生日期小月1965年(YEAR提取年份),则不考虑延迟退休。

首先计算需要延迟的月份数字,将当前出生年月减掉1965年再除以4,具体公式如下:

=INT(((YEAR(A2)-1965)*12+MONTH(A2)-1)/4)+1

但上述公式没有考虑上限,如果计算结果大于36的时候,仍旧以36计算,所以还需要添加一个判断:

=IF(INT(((YEAR(A2)-1965)*12+MONTH(A2)-1)/4)+1>36,36,INT(((YEAR(A2)-1965)*12+MONTH(A2)-1)/4)+1)

更方便的DATEDIF

查找相关资料的时候看到了这个函数,返回两个日期之间的年月日间隔数。常使用DATEDIF函数计算两日期之差。上面的复杂的计算用这个函数就简洁明了许多:

=DATEDIF(DATE(1965,0,1),B2,"m")

DATEDIF语法说明:

DATEDIF(start_date,end_date,unit)
Start_date 为一个日期,它代表时间段内的第一个日期或起始日期。(起始日期必须在1900年之后)
End_date 为一个日期,它代表时间段内的最后一个日期或结束日期。
Unit 为所需信息的返回类型。
Unit 返回
注:结束日期必须晚于起始日期
下面举个小例子:在日常工作中非常实用。
假如A1单元格写的也是一个日期,那么下面的三个公式可以计算出A1单元格的日期和编辑当天的时间差,分别是年数差,月数差,天数差。注意下面公式中的引号和逗号括号都是在英文状态下输入的。
=DATEDIF(A1,TODAY(),"Y")计算年数差
=DATEDIF(A1,TODAY(),"M")计算月数差
=DATEDIF(A1,TODAY(),"D")计算天数差
"Y" 时间段中的整年数。
"M" 时间段中的整月数。
"D" 时间段中的天数。
"MD" 起始日期与结束日期的同月间隔天数,忽略日期中的月份和年份。
"YD" 起始日期与结束日期的同年间隔天数,忽略日期中的年份。
"YM" 起始日期与结束日期的同年间隔月数,忽略日期中的年份。

因为男职工是每4个月增加一次,所以最终公式如下:

=INT((DATEDIF(DATE(1965,0,1),B2,"m")+3)/4)

中值函数

EXCEL中的median函数可以取到中值,在0,12,36这3个数字中,它会返回12,而0,36,37的情况,则返回36,当计算所得的延迟退休月份超过36个月时,中值函数会始终返回36,很巧妙的设置了数值上限。

=MEDIAN(0,12*3,INT((DATEDIF(DATE(1965,0,1),B2,"m")+3)/4))

EDATE函数

‌EDATE函数是Excel中的一个日期和时间函数,用于返回指定日期之后或之前的几个月的日期。‌其基本语法为:=EDATE(开始日期, 月数),其中“开始日期”是基准日期,可以是单元格的引用、日期函数的结果或直接输入的日期;“月数”是要增加或减少的月份数,正数表示未来日期,负数表示过去日期,零则返回开始日期。‌成品的计算公式如下:

//原60岁退休人员退休日期
=EDATE(B2,12*60+MEDIAN(0,12*3,INT((DATEDIF(DATE(1965,0,1),B2,"m")+3)/4)))
//原55岁退休人员退休日期
=EDATE(B2,12*55+MEDIAN(0,12*3,INT((DATEDIF(DATE(1970,0,1),B2,"m")+3)/4)))
//原50岁退休人员退休日期
=EDATE(B2,12*50+MEDIAN(0,12*5,INT((DATEDIF(DATE(1975,0,1),B2,"m")+1)/2))) 

成品公式来自知乎,这里只是学习记录了一下应用到的公式。

公式来源链接:

https://zhuanlan.zhihu.com/p/720206336

标签: excel

移动端可扫我直达哦~

推荐阅读

excel 2024-12-30

在excel中自动计算法定退休年龄

在制作“法定退休年龄对照表”的时候遇到了一个小问题,月份是可以自动填充的,每4个月自动增加1个月的逻辑也可以被自动填充。但“改革后法定退休年龄”这一栏的逻辑就稍微复杂了一点,依赖自动填充就不可取了。改革后法定退休年龄“改革后法定退休年...

工作相关 excel

excel 2024-09-09

如何利用VBA移除EXCEL文件的密码保护

收到了客户两张电子表格,需要修改几项数据,其中一张表格是直接可以修改的,但同一压缩包里的另一个文件则显示收保护,读取没问题,修改就不行了,询问客户密码也是一问三不知。无奈在51CTO找了这么一个暴力测试的方案,程序会在成功后弹窗提示该...

工作相关 excel

excel 2024-01-09

EXCEL如何跳过空白单元格粘贴内容

除了函数与功能太多,随用随忘之外,个人觉得excel堪称完美,即便随用随忘,那始终还是博主自身存储空间和存储质量的原因。就好像类似下面的需求,把一段包含空格的内容隔行穿插到左边的单元格内。明明是曾经操作过的,但如何解决的却一下又想不起...

工作相关 excel

excel 2023-09-14

Excel仅复制已筛选出来的单元格

利用Excel可以很方便的对数据进行筛选,但是如果框选筛选完成的数据,然后直接复制粘贴的话,我们会得到一个完整的包含所有数据的表格。快捷键筛选其实只是把不符合条件的单元格暂时的隐藏了起来,如果仔细观察一下屏幕左侧的行号,可以发现此时行...

工作相关 excel

excel 2023-05-10

利用excel实现函数数据的保存与删除

刚工作的时候,因为经常要把订单整理出具体要求,然后下发到车间,所以diy了一个订单系统,利用了一些excel自动生成数据的函数。比如用“today()”来实现下单的日期,用“sum()”来统计总体的数量。这个简陋的管理系统用于打印是没...

工作相关 excel

excel 2023-05-10

Excel快递单根据地区填写预计签收日期

excel中有很多关于日期的函数,博主比较常用的是“today()”,因为工作中经常需要印发订单到车间,订单上的下发日期上写上一个这个函数,因为该函数会随日期自动变化,所以就一劳永逸了。偶尔也碰到过客户单项的数量与合计数量不符的情况,...

工作相关 excel

excel 2023-01-10

excel求和过程中如何忽略错误的值

设计逻辑不够严谨的表格中,往往会遇到“被零除”错误,表格中会显示“#DIV/0!”字样,如果对包含该错误的单元格进行求和操作,在求和格子中,用户往往也会收到一个相同的错误。修改表格逻辑当然是治标又治本的方法,但是当我们急于想知道其他非...

工作相关 excel

excel 2022-10-14

用excel根据列表自动填写快递面单

整理网盘的时候翻到一个很久以前做的表格,根据表格地址自动定位数据打印快递面单。涉及到了工作薄内不同表格间的数据调用,以及vba弹出窗口的返回信息,贴在博客上以便将来有需要的时候查找。表格的vba代码Sub test() Dim...

工作相关 excel

excel 2022-10-13

excel文件内工作表太多如何快速定位

excel一个文件可以视为一个工作薄,一个工作薄可以包含多张表格,将多张表格统一放在一个文件中,可以方便的进行数据的分析与交换,也更易于管理。但当表格数目较多时,仅依靠左下角的前进与后退按钮感觉是有点不够用的,这里介绍两种快速切换工作...

工作相关 excel

excel 2022-10-13

excel如何在打印时每页都显示相同表头标题

正常打印的时候,excel会按顺序打印表格的内容,表格的标题只会出现在第一页上,有时候数据比较多,希望后续的打印页上也出现表头与标题的时候,我们需要使用excel中的页面布局功能来实现。选择页面布局菜单,打开打印标题选项;这里的示例是...

工作相关 excel

excel 2022-10-12

如何用excel实现一个级联菜单

级联菜单是一种常见的计算机菜单格式,其中一个菜单中选定的选项用于确定下一个菜单中哪些选项可用。开发人员将可能的值列表分为两个或多个逻辑级别,每一个级别都显示在一个菜单中,用户可以在做出最终选择之前缩小所有可能选项的范围,从而更快捷的检...

工作相关 excel

excel 2022-10-10

excel中的ctrl+d与ctrl+r自动填充

在excel中,有着比较灵活的数据填充方式,以最大程度的减少手工输入,提高使用效率,比如我们可以使用快捷键ctrl+d实现向右填充,也可以使用ctrl+r实现向右填充。单元格填充选中需要复制内容单元格所在位置正下方的格子,按ctrl+...

工作相关 excel