打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
EXCEL中如何从身份证号码提取出生年月日及性别

EXCEL中如何从身份证号码提取出生年月日及性别

(2009-09-24 11:49:19)
标签:

技巧

电子表格

函数

it

分类: 电脑

   近段时间,各校都忙坏了,学生城镇居民医疗保险材料要保,今年必须提供每位学生的身份证号码,还有性别、出生日期等信息;新生学籍要报,学籍信息包含50多项,其中也有身份证号码、性别、出生日期等信息……。为了简化工作,提高效率,特整理出从身份证号码里提取出生年月日及性别等信息的方法,希望对大家有所帮助。

   一、分析身份证号码

   其实,身份证号码与一个人的性别、出生年月、籍贯等信息是紧密相连的,无论是15位还是18位的身份证号码,其中都保存了相关的个人信息。

   15位身份证号码:第7、8位为出生年份(两位数),第9、10位为出生月份,第11、12位代表出生日期,第15位代表性别,奇数为男,偶数为女。

   18位身份证号码:第7、8、9、10位为出生年份(四位数),第11、第12位为出生月份,第13、14位代表出生日期,第17位代表性别,奇数为男,偶数为女。

   例如,某学生的身份证号码(15位)是320521198908070242,那么表示1989年8月7日出生,性别为女。如果能想办法从这些身份证号码中将上述个人信息提取出来,不仅快速简便,而且不容易出错,核对时也只需要对身份证号码进行检查,肯定可以大大提高工作效率。

   二、转换身份证号码格式

   我们先将学生的身份证号完整地输入到EXCEL表格中,这时默认为“数字”格式(单元格内显示的是科学记数法的格式),需要更改一下数字格式。选中该列中的所有身份证号后,右击鼠标,选择“设置单元格格式”。在弹出对话框中“数字”标签内的“分类”设为“文本”,然后点击确定。

   三、提取个人信息

   这里,我们需要使用IF、LEN、MOD、MID、DATE等函数从身份证号码中提取个人信息。假设学生的身份证号码信息已输入完毕(C列),出生年月信息填写在D列,性别信息填写在B列。

   1.提取出生年月信息

   如果上交报表时需要填写出生年月日,我们需要关心身份证号码的相应部位即可,即显示为“19890807”这样的信息。在D2单元格中输入公式

   =IF(LEN(C2)=15,"19"&MID(C2,7,6),MID(C2,7,8)),其中:   

   文本函数MID返回文本字符串中从指定位置开始的特定数目的字符,该数目由用户指定。语法:MID(text,start_num,num_chars)即MID(文本,开始字符,所取字符数),

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

   Start_num  是文本中要提取的第一个字符的位置。文本中第一个字符的start_num 为1,以此类推。

   Num_chars  指定希望 MID 从文本中返回字符的个数。

   字符个数计算函数LEN返回文本字符串中的字符数。语法:LEN(text)

   Text  是要查找其长度的文本。空格将作为字符进行计数。

   LEN(C2)=15:检查C2单元格中字符串的字符数目,本例的含义是检查身份证号码的长度是否是15位。

   MID(C2,7,4):从C2单元格中字符串的第7位开始提取6位数字,本例中表示提取15位身份证号码的第7、8、9、10、11、12位数字。

   "19"&:表示如果身份证号码是15位,在年份前加“19”。

   MID(C2,7,8):从C2单元格中字符串的第7位开始提取8位数字,本例中表示提取18位身份证号码的第7、8、9、10、11、12、13、14位数字。

   IF(LEN(C2)=15,MID(C2,7,6),MID(C2,7,8)):IF是一个逻辑判断函数,表示如果C2单元格是15位,则提取第7位开始的6位数字并在年份前加“19”,如果不是15位则提取自第7位开始的8位数字。

   如果需要显示为“1989-08-07”这样的格式,可以把上面的公式稍加修改即可:

   =IF(LEN(C2)=15,"19"&MID(C2,7,2)&"-"&MID(C2,9,2)&"-"&MID(C2,11,2),MID(C2,7,4)&"-"&MID(C2,11,2)&"-"&MID(C2,13,2))

   解释:如果身份证号码是15位,则从第7位开始取两位数字,并在这两位数字前加“19”,后面加“-”,从第9位开始取两位数字,并在这两位数字后面加“-”,从第11位开始取两位数字。否则,从第7位开始取四位数字,并在这四位数字后面加“-”,从第11位开始取两位数字,并在这两位数字后面加“-”,从第13位开始取两位数字。

   也可以使用DATE格式,并在“单元格格式→日期”中进行设置。

   如果学生的身份证号全部都是18位的新一代身份证,可以以把上面的公式进行简化:

   =MID(C2,7,4)&"-"&MID(C2,11,2)&"-"&MID(C2,13,2)

   2. 提取性别信息

   由于报表中学生不是按照男、女固定的顺序进行编排,如果一个一个手工输入的话,既麻烦又容易出错。

   例如性别信息统一在B列填写,可以在B2单元格中输入公式:

   =IF(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2)=1,"男","女")

   其中:

   LEN(C2)=15:检查身份证号码的长度是否是15位。

   MID(C2,15,1):如果身份证号码的长度是15位,那么提取第15位的数字。

   MID(C2,17,1):如果身份证号码的长度不是15位,即18位身份证号码,那么应该提取第17位的数字。

   MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2):用于得到给出数字除以指定数字后的余数,本例表示对提出来的数值除以2以后所得到的余数。

   IF(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2)=1,"男","女"):如果除以2以后的余数是1,那么B2单元格显示为“男”,否则显示为“女”。

   回车确认后,即可在B2单元格显示正确的性别信息,接下来就是选中填充柄直接拖曳。现在这份报表无论是提取信息或是核对,都方便多了。

   提取性别也可以使用下面这个公式(无论是15位还是18位):
    =IF(LEN(C2)=15,IF(MOD(MID(C2,15,1),2)=1,"男","女"),IF(MOD(MID(C2,17,1),2)=1,"男","女")

   如果学生的身份证号全部都是18位的新一代身份证,可以使用下面的公式:

   =IF(MID(C2,17,1)/2=TRUNC(MID(C2,17,1)/2),"女","男")

   数学函数TRUNC将数字的小数部分截去,返回整数。

   语法:TRUNC(number,num_digits)

   Number   需要截尾取整的数字。

   Num_digits  用于指定取整精度的数字。Num_digits 的默认值为 0。

   说明:函数 TRUNC 和函数 INT类似,都返回整数。函数 TRUNC 直接去除数字的小数部分,而函数 INT则是依照给定数的小数部分的值,将其四舍五入到最接近的整数。函数 INT 和函数 TRUNC在处理负数时有所不同。

   如果身份证号的输入已是15或18位,还可以用公式:
   =IF(MOD(LEFT(RIGHT(C2,(LEN(C2)=18)+1)),2),"男","女")

   RIGHT 根据所指定的字符数返回文本字符串中最后一个或多个字符。

   语法:RIGHT(text,num_chars)

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

   Num_chars   指定希望 RIGHT提取的字符数。

   LEFT 基于所指定的字符数返回文本字符串中的第一个或前几个字符。

   语法:LEFT(text,num_chars)

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

   Num_chars   指定要由 LEFT所提取的字符数。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
由身份证号码分析出生日期及性别 EXCEL表格自动生成
从身份证号码提取出生日期、性别、年龄等信息
让Excel中自动从身份证号码中提取出生日
excel中一些常用公式
转Excel表格中根据身份证号码自动填出生日期、计算年龄
如何从在excel中身份证号码里提取需要的信息
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服