快捷导航

扫一扫,访问微社区

QQ登录

只需一步,快速开始

切换风格

红色

从身份证号提取8位出生年月日

弱智老师 发表于 2015-4-9 09:49:12 | 显示全部
一、利用身份证号码生成出生年月日
=IF(LEN(D2)=18,MID(D2,7,4)&"-"&MID(D2,11,2)&"-"&MID(D2,13,2),IF(LEN(D2)=15,"19"&MID(D2,7,2)&"-"&MID(D2,9,2)&"-"&MID(D2,11,2),"无效身份证号码"))
    公式说明:选择要生成出生日期的格子,然后复制粘贴公式,注意修改身份证号码格子的地址码。我这里是D2,你们用的时候,自己转换。
    1、判断身份证号码是15还是18位,如果二者条件都不满足,说明该号码为错误,显示“无效身份证号码”
    2、如果身份证号码为18,则取第7位开始的4位数字(年份),中间加-,及月份第11位开始的2位数字,中间加-,以及日第13位开始的二位数字。
    3、如果身份证号码为15,则取第7位开始的二位数字,前面加“19”;然后取月份9位开始的2位数字及日第11位开始的2位数字。
    二、利用身份证号码生成性别

=IF(MOD(IF(LEN(A6)=15,MID(A6,15,1),MID(A6,17,1)),2)=1,"男","女")
这个很简单,就是计算尾数求奇偶,奇数男、偶数女。感谢一个朋友的指点,原来公式少了一个18位身份证判断。现在修改了一下,根据15位和18位不同,分别取最后1位及倒数第2位的余数来判断男女。

俺来补充点:

利用Excel中的身份证号码提取信息

一、分析身份证号码
其实,身份证号码与一个人的性别、出生年月、籍贯等信息是紧密相连的,无论是15位还是18位的身份证号码,其中都保存了相关的个人信息。
前6位为籍贯代码。
15位身份证号码:第7、8位为出生年份(两位数),第9、10位为出生月份,第11、12位代表出生日期,第13-15位为流水号,其中第15位代表性别,奇数为男,偶数为女。
18位身份证号码:第7、8、9、10位为出生年份(四位数),第11、第12位为出生月份,第13、14位代表出生日期,第15-17为流水号,第17位代表性别,奇数为男,偶数为女。第18位为识别码。
例如,某人的身份证号码(15位)是420124760617473,那么表示1976年6月17日出生,性别为男。如果能想办法从这些身份证号码中将上述个人信息提取出来,不仅快速简便,而且不容易出错,核对时也只需要对身份证号码进行检查,肯定可以大大提高工作效率。
二、将要用到的函数列表
1、DATE(year,month,day)
2、IF(Logical,Value_if_true,Value_if_false)
3、LEN(text)
4、MID(text,start_num,num_chars)
5、MOD(number,divisor)
在这里,我们假定身份证号码保存在C列(从C2单元格开始)中,性别和出生年、月、日分别保存在D列和E列中。
三、提取个人信息
(一)、性别
选中D2单元格,输入公式:
=IF(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2)=0,"女","男")

=IF(MOD(IF(LEN(C7)=15,MID(C7,15,1),MID(C7,17,1)),2)=1,"男","女"),
输入完成后,按下“Enter”键进行确认,第1位持证人的性别则自动显示在D2单元格。
上述第一个公式的含义分三层来理解:
①如果身份证号码是15位(LEN(C2)=15),则取其15位数字(MID(C2,15,1)),否则取其17位数字(MID(C2,17,1))。
②然后求取出来的数值除2后的余数(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2))。
③如果(IF)余数为“0”(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2)=0),则显示“女”,否则显示“男”。
注意:如果将上述公式修改为:=IF(IF(LEN(C2)=15,MID(C2,15,1),IF(LEN(C2)=18,MID(C2,17,1),""))="","号码有错",IF(MOD(IF(LEN(C2)=15,MID(C2,15,1),IF(LEN(C2)=18,MID(C2,17,1),"")),2)=1,"男","女")),当输入的号码不是15位或18位,系统提示“号码有错”,则效果更佳。
(二)   、出生年月日
本例提取出生年月日,根据实际应用需要作相应修改即可。本例要求年份四位数,月日分别两位数,共要提取8位数
在D2单元格中输入公式“=IF(LEN(C2)=15,"19"&MID(C2,7,6),MID(C2,7,8))”,
上述公式的理解:
LEN(C2)=15:检查C2单元格中字符串的字符数目,MID(C2,7,4):从C2单元格中字符串的第7位开始提取六位数字,本例中表示提取15位身份证号码的第7到12位数字。MID(C2,7,8):从C2单元格中字符串的第7位开始提取八位数字,本例中表示提取18位身份证号码的第7-14位数字。
注意:如果将上述公式修改为:=IF(LEN(C2)=15,"19"&MID(C2,7,6),IF(LEN(C2)=18,MID(C2,7,8),"号码有错")),当输入的号码不是15位或18位,系统提示“号码有错”,则效果更佳。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册入村

首页

论坛

导读

我的

快速回复 返回顶部 返回列表