懒得去一个一个去手工算,可以从身份证里面自动计算出生日期、年龄、今天生日、本月生日。。。

为了活跃气氛继续送书,今天送3本《跟卢子一起学Excel 早做完 不加班》,从留言区随机抽奖。昨天的中奖名单在文末。

粉丝的问题,要根据身份证计算出生日期、年龄(而且在50-55岁之间要提示)、今天生日、本月生日。

懒得一个一个算,于是求助卢子,那就来看看怎么快速实现?

1.出生日期

身份证从第7位开始,连续提取8位,就是出生日期。

=MID(A2,7,8)

8位数字,再嵌套TEXT转换成文本型日期。

=TEXT(MID(A2,7,8),"0-00-00")

当然也可以转换成标准型日期,在前面加--,单元格设置为日期格式。

=--TEXT(MID(A2,7,8),"0-00-00")

后面的内容都是用公式计算,不管什么格式的日期,影响不大。如果是透视表,就需要标准日期。

2.年龄(而且在50-55岁之间要提示)

年龄一般分成2种。

粗略计算,就是今年的年份减去出生那年。输入公式后,将单元格设置为常规格式。YEAR就是提取年份,如果是月份就是MONTH,日就是DAY。

=YEAR(TODAY())-YEAR(B2)

周岁,少一天都不行都不算一年。DATEDIF的第三参数是y代表年,m代表月,d代表日。

=DATEDIF(B2,TODAY(),"y")

50-55岁之间要提示,这个需要借助条件格式,突出显示单元格规则,介于。

输入50到55,确定。

3.今天生日

生日就是忽略年份,判断月日是否一样。借助TEXT将日期转换成月日的形式,也就是第2参数为m-d。

=IF(TEXT(B2,"m-d")=TEXT(TODAY(),"m-d"),"今天生日","")

TODAY()是根据电脑的右下角日期变化,现在是2021/10/18。

4.本月生日

月份一样就行,跟案例3方法一样,改个参数就行。

=IF(TEXT(B2,"m")=TEXT(TODAY(),"m"),"本月生日","")

最后再补充一个知识点,粉丝的生日是用8.10表示,这种在Excel会认为是数字8.1,并不是真正的日期。

日期是以-或者/作为分隔符号的。当然,如果是标准日期,可以通过TEXT转换成其他形式,别去手工。

=TEXT(B2,"m.d")

=RANDBETWEEN(1,101)

=VLOOKUP(F2,C:D,2,0)

推荐:身份证的8个相关问题,你能否一次全搞定(含参考答案)

上文:超好用!总表新增数据,自动拆分到分表

每天刷抖音、玩游戏,会不会腻,有没兴趣,再来一期学习与运动?上次的活动转眼已经3年,估计已经没几个粉丝能记起来了。

作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)

(0)

相关推荐