你还有多少天退休?看看强大的函数怎么计算
很多朋友都在关心关注我的文章,其中有很多中年的朋友,都很关心自己什么时候退休,还有多少时间退休,今天就为朋友们量身定做一个退休函数。只要输入你的生日就可以精确计算出你还有多少天退休。当然,还要知道你的性别,因为男职工退休默认是60岁退休,女职工是55岁。当然,特殊情况除外。现在还没有考虑延迟退休,等有方案了再改公式也是可以的。

如上图,需要在D3到D11中输入公式,来解决这个问题。是什么公式呢?在讲之前先给大家介绍几个常用的日期函数,year(),month(),day(),tody()
Year()函数:将系列数转换为年。 格式为:YEAR(serial_number),其中Serial_number 为一个日期值,其中包含要查找的年份。例如:YEAR("2098/7/5") 等于 2098。
Month()函数:函数值返回一个为 1 到 12 之间的整数,表示一年中的某月。语法MONTH(serial_number),其中Serial_number表示一个日期值,其中包含着要查找的月份。例如:month("2098/7/5") 等于 7。
DAY()函数:返回一个月中第几天的数值,语 法DAY(serial_number),其中 Serial_number 为要查找的天数日期。Day("2098/7/5")
等于5。
T ODAY()函数:返回日期格式的当前日期。语法TODAY(无参数)。
Date()函数返回代表特定日期的序列号 DATE(year,month,day).
有了上面的初步认识,我们再看要输入的公式,这个公式中会利用到上面的几个函数。见下面的截图:

在D3单元格中录入公式:=(DATE(YEAR(C3)+IF(B3="男",60,55),MONTH(C3),DAY(C3)+1)-TODAY())
公式讲解:
YEAR(C3)+IF(B3="男",60,55),返回要退休的年,期间有个IF,要判断是男还是女,返回不同的增加值。
MONTH(C3)返回要退休年龄的月份。
DAY(C3)+1返回要退休年龄的日期,就是生日的日期加1。
上述的各个值构成了DATE(YEAR(C3)+IF(B3="男",60,55),MONTH(C3),DAY(C3)+1)就是要退休的时间,再减去当前的时间TODAY就是离退休的天数了。
这里最后在最外层还加了一层(),是为了返回值是标准的整数。看下面的返回结果:

很清楚的反应了每位员工的离退休的天数,你也试试看自己还有多长时间退休吧。
上面的文章中讲到了一个使用的技巧:“这里最后在最外层还加了一层(),是为了返回值是标准的整数。”不知大家注意到了没有,这里再给详细的介绍一下:
当用两个时间相减时,往往返回的单元格格式会自动的变成时间格式,这样的结果和我们的期望是不同的,怎么办?这时就要在减号的公式外层再套用一层括号即可:

如上面的A14 和C14中的公式,返回的结果是不同的,在A14的中将返回日期的格式,而我们的期望是返回两个年份的差,而C14的结果恰恰是我们需要的,看看下面的返回结果:

上面的截图中,“1900/1/2”显然是不对的,那么怎么办呢?还有没有其他的办法解决呢?也好办,就是把这个单元格的格式再设置一下,设置为“常规”即可,但不如D14单元格的公式那样书写来的方便。所以当你在遇到类似的问题时候,最好也在外面再套一层括号,这个技巧你掌握了吗?
本系列文章成果是本人根据多年的经验编写,也是本人多年来一直在利用的工具,非常的方便,好用。希望留言下载,利用到实际中可以节约大量的时间,而且准确,无误。不要客气,有需要的尽管发信给我,最快时间内给你实战的程序。
更多的实用程序请看我的公众号“VBA与GOLANG语言学习”,或“NZ_9668”。 也欢迎加入“VBA学习交流社群”,由群主亲自讲解课程。从实际应用出发,以程序为实例进行讲解,保证你学过一个掌握一个,能够自主应用一个。
分享成果,随喜正能量