懒得去一个一个去手工算,可以从身份证里面自动计算出生日期、年龄、今天生日、本月生日。。。
为了活跃气氛继续送书,今天送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)
每天刷抖音、玩游戏,会不会腻,有没兴趣,再来一期学习与运动?上次的活动转眼已经3年,估计已经没几个粉丝能记起来了。
作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)