2024年2月9日发(作者:)

Excel中如何利用函数从身份证中提取出生年月、年龄、性别等信息

居民身份证号码是我们经常用到的数据,原为15位,21世纪以后都统一升级为18位,其编码规则按排列顺序从左至右依次如下。

15位身份证号码(1-2位省、自治区、直辖市代码;3-4位地级市、盟、自治州代码;5-6位县、县级市、区代码; 7-12位出生年月日,比如970101代表1997年1月1日,这是和18位号码的不同之处;13-15位为顺序号)

18位身份证号码(1-2位省、自治区、直辖市代码; 3-4位地级市、盟、自治州代码; 5-6位县、县级市、区代码; 7-14位出生年月日,比如19970101代表1997年1月1日; 15-17位为顺序号,其中17位男为单数,女为双数; 18位为校验码,0-9和X,随机产生)

日常工作中,我们经常会用到所有员工的出生年月、性别、年龄等信息,只要我们有这些员工的身份证号,我们就可以在Excel中随时提取这些信息。

1、从身份证号码中提取出生日期。

利用MID函数提取身份证号码中的8位生日数字。

MID字符串函数,作用是从一个字符串中截取出指定数量的字符

语法: MID(text, start_num, num_chars)

text包含要提取字符的文本字符串。

start_num文本中要提取的第一个字符的位置。文本中第一个字符的 start_num 为 1,依此类推。(即从左起第几位开始截取)

num_chars指定希望 MID 从文本中返回字符的个数。(即从左起向右截取的长度是多少)

在指定单元格中输入“=MID(身份证号码所在单元格,7,8)”回车,即可得到8位生日数字。

输入公式“=MID(身份证号码所在单元格,7,4)&"年"&MID(身份证号码所在单元格,11,2)&"月"&MID(身份证号码所在单元格,13,2)&"日"”,回车之后我们得到使用MID函数和&拼接符自动计算得出的出生年月日,即格式为“****年**月**日”。

输入“=TEXT(MID(身份证号码所在单元格,7,8),"0000-00-00")”,即得到格式为“****-**-**”的生日数字。

输入“=TEXT(MID(身份证号码所在单元格,7,4) &"/"

&MID(身份证号码所在单元格,11,2)&"/"&MID(身份证号码所在单元格,13,2)&" /","yyyy/m/d")”或者输入公式:“=DATE(MID(身份证号码所在单元格,7,4),MID(身份证号码所在单元格,11,2),MID(身份证号码所在单元格,13,2))”,回车

2、从身份证号码中提取性别。

在身份证号码中,身份证顺序码的最后一位数字的奇偶性可

用于识别用户的性别,通过从身份证号码中提取该信息更便于防止管理人员误输入员工的性别信息。

性别栏输入函数“=IF(MOD(MID(身份证所在单元格,17,1),2),"男","女")”,则能根据身份证号码判断男女并自动输入性别。

3、根据出生日期计算出这个人的年龄

①提取年龄

身份证号码的第7-14位是出生年月日,用MID函数提取出年份,再用今年的年份减去出生年份就是年龄:

在年龄栏中输入“=YEAR(TODAY())-MID(身份证所在单元格,7,4)”。注意,MID后面括号里面的第一二位字母数字是指向的身份证位置所在的单元格,不能出错。完成后按Enter即可生成年龄,而且这样得出的年龄会根据日期自动更新,明年打开则更新为了明年的年龄。

②没到生日自动减1岁

如果还没到生日,那么情况一计算出的年龄要减一岁,显然上面的公式不能满足要求。

在单元格输入公式:=DATEDIF(TEXT(MID(身份证号码所在单元格,7,8),"0-00-00"),TODAY(),"y")

回车键确认公式后再下拉或双击填充公式,即可完成整列年龄提取。

公式比较长,可以分成四部分来看:

1、MID(身份证号码所在单元格,7,8) 提取身份证号码中的出生年月;

2、TEXT(MID(身份证号码所在单元格,7,8),"0-00-00" 把MID函数提取的出生年月格式化成 【 年-月-日】 格式

3、TODAY() 返回今天的日期

4、DATEDIF()函数计算两个日期之间相隔的天数、月数或年数,第一个参数为开始日期,第二个参数为结束日期,最后一个参数y代表计算的年数,也就是我们要的年龄。