如何快速转换出生年月为周岁

标签:
excel电子表格出生年月周岁转换杂谈 |
分类: 电脑应用 |
如何快速转换出生年月为周岁
前两天,同事问我这样一个问题:如何在已有的表格中,快速转换出生年月为周岁。因为,有的要求填写老师的周岁,而一般的表格都填写的是出生年月。因此,如何快速进行相关的转换,将会大大地缩短计算时间。
由于我以前也没有接触过这样的问题,而她说总校的会计计算时非常容易,一拖就实现了。但我知道这里面一定要有公式的存在,但一时之间又想不出具体怎么应用了。于是,只好让同事自己手动计算了。但过了这件事以后,自己总有些耿耿于怀,这个问题应该能很容易的解决。以前也遇到过如何从身份证中提取出生年月的问题,只要搞清楚问题的关键,一切都应该不是什么问题。
抱着研究问题的目的,来分析一下这个问题的解决思路:既然是求周岁,我们都知道计算的方法是看出生的月份,如果出生的月份在一月到八月,周岁是实际虚岁年龄减一岁即可,即周岁的计算方法是用现在的年份减去相应的出生年份;如果出生的月份在九月到十二月,周岁则是实际虚岁年龄减两岁,即周岁的计算方法是用现在的年份减去相应的出生年份再减去一。
知道了这个方法就好办了,只要我们找好了关系就容易了。问题的关键就在于判断月份在什么范围内,从而来判断周岁是减一岁还是减两岁,因此必须用到IF条件判断语句;而要判断出生月份,则需要从出生年月中提取出月份,从而进行判断,因此必须用到MID函数;为了保证出生月份在合法的范围内,则必须使用AND条件语句。像其它可能还要用到日期函数求出当前的日期,要用到YEAR()函数,转换文本成数值函数VALUE(),等等。
这就涉及一个问题了,输入的出生年月是按什么格式输入的。比如说同事要解决的这个问题,它的出生年月格式是按如下格式输入的:
http://s13/middle/5fc04b6dhaeb47822c64c&690
http://s6/middle/5fc04b6dhaeb478320165&690
这样处置的结果可以采取转换成文本的格式输入,即可正常显示了。如下图:
http://s16/middle/5fc04b6dhaeb478508f6f&690
解决了这个问题,同样可以求出出生的年份,公式为mid(a2,1,4),在A2单元格中数据中从第1个字符开始取4个字符,便可以取出出生的年份。如下图:
http://s1/middle/5fc04b6dhaeb4785fd330&690
http://s14/middle/5fc04b6dhaeb4788da27d&690
http://s3/middle/5fc04b6dhaeb48e9e0b12&690
判断公式为:
IF(AND(VALUE(H2)>8,VALUE(H2)<=12),J2-I2-1,IF(AND(VALUE(H2)>0,VALUE(H2)<=8),J2-I2, ”你的生日不合法”))
解释一点:其实对于输入合法的出生年月,其实用下面这个公式也可以完成:
IF(VALUE(H2)>8,YEAR(TODAY())-VALUE(I2)-1,YEAR(TODAY())-VALUE(I2))。也就是判断出生月份大于8即可,最终也能得到想要的结果,如下图
http://s9/middle/5fc04b6dhaeb478f85b78&690
http://s5/middle/5fc04b6dhaeb479263444&690
我们仔细看会发现,两者的结果完全一样。因此许多朋友就会觉得使用哪一种都无所谓了,但如果我们在录入出生年月的时候出现了失误,那么用容错的公式就会显得很有必要。下面我就以一个出错的例子来演示一下最终的结果。
http://s14/middle/5fc04b6dhaeb47953ed3d&690