身份证号码能传递出很多信息,包括出生日期、性别、年龄、生肖及籍贯等等
这些信息又是如何通过Excel获取?
上期讲到通过MID、MOD、IF函数在身份证号中提取性别信息
今天来了解下如何提取身份证号出生日期
涉及到的函数包括:text、concatenate、mid
身份证号提取出生年月日
身份证号中第7位-第15位为出生年月日信息
513928199009084523
其中19900908为出生年月日信息
所以使用mid函数从第7位开始提取,共提取8个字符
输入公式=mid(b2,7,8)
但是提取出来的内容19900908与大家常见的日期格式不同
一堆数字挤在一起不利于区分年月日同时也不够美观
最常见的日期格式一般为以下两种:
1990年9月8日
1990-09-08
均可用连接函数Concatenate与格式转换函数Text实现
一一进行讲解
01
Concatenate函数
Concatenate[kɒn'kætɪneɪt]
【功能】
将两个或多个文本字符合并为一个文本字符串
【语法】
Concatenate(text1,text2,...)
【参数】
text1,text2为需要连接的内容
通过什么连接呢?
连接符自定义,可以为标点符号也可以为文本数字等,用双引号""标识
即公式=CONCATENATE(A1," ",B1)
实例说明
表格中AB队各有两位选手,将两位选手通过“和”连接
输入公式=CONCATENATE(B2,"和",C2)
回到身份证出生年月日
19900908 - 1990年9月8日
使用了三个连接符,分别是“年”“月”“日”
出生年月日需要分开提取
① 提取出生年份MID(B2,7,4),用“年”连接
② 提取出生月份MID(B2,11,2),用“月”连接
③ 提取出生日期MID(B2,13,2),用“日”连接
输入公式=CONCATENATE(MID(B2,7,4),"年",MID(B2,11,2),"月",MID(B2,13,2),"日")
看着输入一大堆,理清逻辑关系就很简单~
第二种格式:1990-09-08
在19900908的基础上加了几个横杠连接
将连接符从“年月日”改为“-”
输入公式=CONCATENATE(MID(B2,7,4),"-",MID(B2,11,2),"-",MID(B2,13,2),"-")
不过连接函数CONCATENATE输入这么大一堆还是太麻烦
年月日还得分开提取,能不能一次提取再改格式?
02
TEXT函数
【功能】
将数值转换为指定格式文本
【语法】
TEXT(value,format_text)
【参数】
-
value:数值、计算结果为数字值的公式,或对包含数字值的单元格的引用
-
format_text:“单元格格式”对话框中“数字”选项卡上“分类”框中的文本形式的数字格式
19900908 →1990-09-08
将8位数字00000000格式改为自定义格式,设置为0000-00-00
输入公式=text(mid(b2,7,8),"0000-00-00")
自定义格式怎么这么眼熟?
单元格格式中就有
例如:将手机号码13890908080改为138-9090-8080格式
① ctrl+1调出单元格格式设置
② 选择自定义格式
③ 输入000-0000-0000
19900908 →1990年9月8日
将8位数字00000000格式改为自定义格式,设置为0000年00月00日
输入公式=text(mid(b2,7,8),"0000年00月00日")
综合比较发现TEXT函数更方便,出生年月日无需分多次提取
但网上或书中反而更多见CONCATENATE函数提取出生年月日