Excel表中身份证号码提取出生年月、年龄、性别的使用技巧[1]
用身份证号计算性别、出生日期、周岁和年龄

用身份证号计算性别、出生日期、周岁和年龄
上篇《必懂!Excel中长字符串的秘密》提到在Excel中录入长字符串的技巧,实际工作上,身份证这种长字符串运用最多,今天就来聊这个。
身份证上的信息有很多种,今天提取一些常用的特征进行说明。
1.性别:第17位为奇数是男,偶数是女。
=IF(MOD(MID(B2,17,1),2),"男","女")
2.出生日期:7~10位为出生年份,11~12位为出生月份,13~14位为出生日。
=TEXT(MID(B2,7,8),"0-00-00")
3.周岁:
=DATEDIF(D2,TODAY(),"y")
4.年龄:
=DATEDIF(D2,TODAY(),"y")&"岁
"&DATEDIF(D2,TODAY(),"ym")&"个月"
第3、4的TODAY函数也可以改为NOW函数,效果一样。
字符提取,左边用LEFT函数,中间用MID函数,右边用RIGHT 函数。
还不熟练推荐看看视频。
作者:卢子,清华畅销书作者,《Excel效率手册早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)。
用Excel从身份证号码中提取信息(年龄、性别、出生地)

用Excel从身份证号码中提取信息(年龄、性别、出生地)1.出生年月日信息提取:方法一:在记录列中输入公式:=--TEXT(MID(B2,7,6+IF(LEN(B2)=15,0,2)),"#-00-00"),往下复制,无论15位还是18位身份证号码全部搞定,方法最简单。
方法二:在记录列中输入公式:=--IF(LEN(B2)=15,TEXT(MID(B2,7,6),"##-00-00"),TEXT(MID(B2,7,8),"####-00-00")),往下复制,无论15位还是18位身份证号码全部搞定,公式增加了几个字符,原理差不多,结果一致。
原理:使用函数text、if、mid、len。
注意:1、B列存放身份证号码。
存放在其它列,则在公式中作相应调整。
2、计算出错(#V ALUE!),说明身份证号码有错。
3、日期显示格式,可在单元格格式中设置。
性别信息提取:在记录列中输入公式:=IF(LEN(B2)=15,IF(MOD(RIGHT(B2),2)=0,"女","男"),IF(MOD(LEFT(RIGHT(B2,2)),2)=0,"女","男"))无论15位还是18位身份证号码全部轻松完成。
原理:使用函数IF、LEN、MOD、LEFT、RIGHT。
注意:1、B列存放身份证号码。
存放在其它列,则在公式中作相应调整。
2、计算出错(#V ALUE!),说明身份证号码有错。
出生地信息提取:在记录列中输入公式:=LEFT(B2,6),往下复制,然后根据代码用VLOOKUP查询发证地或者是出生地信息。
Excel文件模板:从身份证号码中提取信息使用的模板:使用Excel从身份证号码提取信息.xls点击该图标,打开该EXCEL文件,另存为××文件,即可使用。
谢谢你的使用。
身份证提取出生年月日格式

从身份证号码中提取出生年月,看似一个很简单的操作,却包含着很多技巧,如果数据量较大,采用一般的方法将很难完成,所以我们可以采用Excel分列法、Excel函数公式法、Excel智能填充法来完成:
一、Excel分列法。
1、复制身份证号码至“出生日期”列。
2、【数据】-【分列】-【固定宽度】-【下一步】。
3、在【数据预览】区单击鼠标左键,选择需要提取字符的开始位置和结束位置,并【下一步】。
4、选择【列数据格式】中的【不导入此列】;并选中需要删除的结尾部分,单击【不导入此列】;选中“出生年月”部分,单击【日期】并【完成】。
二、Excel函数公式法。
在目标单元格中输入公式:=TEXT(MID(C3,7,8),"00-00-00")。
解读:
1、Mid(字符串,起始位置,字符长度);因为身份证号码中的出生年月从第7位开始,长度为8。
2、Text函数的作用为:根据指定的数值格式将数值设置为文本;语法结构为:=Text(数值,格式代码),其中“00-00-00”为日期的格式代码。
三、Excel智能填充法。
1、在第一个目标单元格中输入第一个需要提取的出生年月,如“19970721”。
2、选定所有目标单元格,包括第一个已经输入内容的单元格。
3、快捷键Ctrl+E。
解读:Ctrl+E为“快速填充”的快捷键,其根据已经填充的单元格内容,结合数据源智能联想填充内容。
EXECL电子表格的身份证与出生日期、年龄、性别的应用

EXECL电子表格的身份证与出生日期、年龄、性别的应用【身份证号判断性别的方法】18位的看倒数第二位,奇男偶女;15位的看倒数第一位,奇男偶女。
假如:身份证所在的列为C2首先要判断该身份证的长度,在excel中使用len函数来获取len(C2)如果是18位的就取第17位,即倒数第二位,Excel中使用mid函数还获取指定位置开始,指定长度的字符串,如果是15位的就去最后一位也就是第15位=If(len(C2)=15,mid(C2,15,1),mid(C2,17,1))获取到这个数后,再判断该数是奇数还是偶数就可以得出性别了,excel中使用mod函数实现=IF(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2)=1,"男","女")获取年龄的函数如下:=DA TEDIF(TEXT((LEN(C2)=15)*19&MID(C2,7,6+(LEN(C2)=18)*2),"00-00-00"),TODAY()," y" )在Excel中根据身份证号码自动生成出生生日期和性别根据身份证号码自动生成出生生日期方法一:15位身份证号:410881********* 输出出生日期1979/06/05 =CONCA TENATE("19",MID(E2,7,2),"/",MID(E2,9,2),"/",MID(E2,11,2))公式解释:a.MID(E2,7,2)为在身份证号码中获取表示年份的数字的字符串b. MID(E2,9,2) 为在身份证号码中获取表示月份的数字的字符串c. MID(E2,11,2) 为在身份证号码中获取表示日期的数字的字符串d.CONCATENATE("19",MID(E2,7,2),"/",MID(E2,9,2),"/",MID(E2,11,2))目的就是将多个字符串合并在一起显示。
Excel表格中根据身份证号码自动填出生日期、性别、年龄的函数公式

Excel表格中根据身份证号码自动填出生日期、性别、年龄的函数公式18位身份证号码转换成出生日期的函数公式:如果E2中是身份证,在F2中求出出生日期,F2=DATE(MIDB(E2,7,4),MIDB(E2,11,2),MIDB(E2,13,2))自动录入男女:=IF(MOD((IF(LEN(e2)=18,MID(e2,17,1),MID(e2,15,1))),2)=0,"女","男")15/18位都可以的公式:转换出生日期:=IF(LEN(e2)=18,TEXT(MID(e2,7,8),"#-00-00"),"19"&TEXT(MID(e2,7,6),"#-0 0-00"))如果要想把“-”换成“年月日”,则公式可改为=IF(LEN(e2)=18,TEXT(MID(e2,7,8),"#年00月00日"),"19"&TEXT(MID(e2,7,6),"#年00月00日"))15/18位自动录入男女:=IF(E2="","",IF(MOD(RIGHT(LEFT(E2,17),1),2)=0,"女","男"))计算年龄(新旧身份证号都可以):=IF(AND(E2=""),"",IF(MIDB(E2,7,2)="19",109-MIDB(E2,9,2),109-MIDB(E2,7 ,2)))说明:109表示当前日期是2009年,如果是2000年后出生的,要从身份证号码中计算年龄,则公式可改为=IF(AND(E2=""),"",IF(MIDB(E2,7,2)="19",109-MIDB(E2,9,2),09-MIDB(E2,9, 2))) (此公式只适合18位新身份证)。
利用Excel从身份证号中提取出生年月和年龄等信息

利用Excel从身份证号中提取出生年月和年龄等信息利用Excel从身份证号中提取出生年月和年龄等信息一、分析身份证号码其实,身份证号码与一个人的性别、出生年月、籍贯等信息是紧密相连的,无论是15位还是18位的身份证号码,其中都保存了相关的个人信息。
15位身份证号码:第7、8位为出生年份(两位数),第9、10位为出生月份,第11、12位代表出生日期,第15位代表性别,奇数为男,偶数为女。
18位身份证号码:第7、8、9、10位为出生年份(四位数),第11、第12位为出生月份,第13、14位代表出生日期,第17位代表性别,奇数为男,偶数为女。
例如,某员工的身份证号码(15位)是320521*********,那么表示1972年8月7日出生,性别为女。
如果能想办法从这些身份证号码中将上述个人信息提取出来,不仅快速简便,而且不容易出错,核对时也只需要对身份证号码进行检查,肯定可以大大提高工作效率。
二、提取个人信息这里,我们需要使用IF、LEN、MOD、MID、DATE等函数从身份证号码中提取个人信息。
如图1所示,其中员工的身份证号码信息已输入完毕(C列),出生年月信息填写在D列,性别信息填写在B列。
图1 输入身份证号码1.提取出生年月信息由于上交报表时只需要填写出生年月,不需要填写出生日期,因此这里我们只需要关心身份证号码的相应部位即可,即显示为“7208”这样的信息。
在D2单元格中输入公式“=IF(LEN(C2)=15,MID(C2,7,4),MID(C2,9,4))”,其中:LEN(C2)=15:检查C2单元格中字符串的字符数目,本例的含义是检查身份证号码的长度是否是15位。
MID(C2,7,4):从C2单元格中字符串的第7位开始提取四位数字,本例中表示提取15位身份证号码的第7、8、9、10位数字。
MID(C2,9,4):从C2单元格中字符串的第9位开始提取四位数字,本例中表示提取18位身份证号码的第9、10、11、12位数字。
身份号码提取出生日期和性别

身份号码提取出生日期、性别和年龄1、在EXCEL软件中,如何快速的将身份证号转换成出生日期(年月日)假设身份证号码输入位置在A1,选中B列,格式--单元格--日期--选择显示模式为年月日的显示模式。
其后在B1中输入:“=DA TE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2))”选中B1后鼠标稍稍右下角移动成+后下拉,那么整列A列的身份证上的出生日期就显示出来了。
2、提取出生年月信息由于上交报表时只需要填写出生年月,不需要填写出生日期,因此这里我们只需要关心身份证号码的相应部位即可,即显示为“7208”这样的信息。
在D2单元格中输入公式“=IF(LEN(C2)=15,MID(C2,7,4),MID(C2,9,4))”,其中:LEN(C2)=15:检查C2单元格中字符串的字符数目,本例的含义是检查身份证号码的长度是否是15位。
MID(C2,7,4):从C2单元格中字符串的第7位开始提取四位数字,本例中表示提取15位身份证号码的第7、8、9、10位数字。
MID(C2,9,4):从C2单元格中字符串的第9位开始提取四位数字,本例中表示提取18位身份证号码的第9、10、11、12位数字。
IF(LEN(C2)=15,MID(C2,7,4),MID(C2,9,4)):IF是一个逻辑判断函数,表示如果C2单元格是15位,则提取第7位开始的四位数字,如果不是15位则提取自第9位开始的四位数字。
如果需要显示为“70年12月”这样的格式,请使用DATE格式,并在“单元格格式→日期”中进行设置。
3、提取性别信息由于报表中各位员工的序号编排是按照上级核定的编制进行的,因此不可能按照男、女固定的顺序进行编排,如果一个一个手工输入的话,既麻烦又容易出错。
例如性别信息统一在B列填写,可以在B2单元格中输入公式“=IF(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2)=1,"男","女")”,其中:LEN(C2)=15:检查身份证号码的长度是否是15位。
Excel表中身份证号码提取出出生年月、年龄、性别的使用技巧

在Excel表中身份证号码提取出生年月、性别、年龄的使用技巧方法一:1.Excel表中用身份证号码中取其中的号码用:MID(文本,开始字符,所取字符数);2.15位身份证号从第7位到第12位是出生年月日,年份用的是2位数。
18位身份证号从第7位到第14位是出生的年月日,年份用的是4位数。
从身份证号码中提取出表示出生年、月、日的数字,用文本函数MID()可以达到目的。
MID()——从指定位置开始提取指定个数的字符(从左向右)。
对一个身份证号码是15位或是18位进行判断,用逻辑判断函数IF()和字符个数计算函数LEN()辅助使用可以完成。
综合上述分析,可以通过下述操作,完成形如1978-12-24样式的出生年月日自动提取:假如身份证号数据在A1单元格,在B1单元格中编辑公式=IF(LEN(A1)=15,MID(A1,7,2)&"-"&MID(A1,9,2)&"-"&M ID(A1,11,2),MID(A1,7,4)&"-"&MID(A1,11,2)&"-"&MID(A1, 13,2))回车确认即可。
如果只要“年-月”格式,公式可以修改为=IF(LEN(A1)=15,MID(A1,7,2)&"-"&MID(A1,9,2),MID(A 1,7,4)&"-"&MID(A1,11,2))3.这是根据身份证号码(15位和18位通用)自动提取性别的自编公式,供需要的朋友参考:说明:公式中的B2是身份证号根据身份证号码求性别:=IF(LEN(B2)=15,IF(MOD(VALUE(RIGHT(B2,3)),2)=0,"女","男"),IF(LEN(B2)=18,IF(MOD(VALUE(MID(B2,15,1)),2) =0,"女","男"),"身份证错"))根据身份证号码求年龄:=IF(LEN(B2)=15,2007-VALUE(MID(B2,7,2)),if(LEN(B2) =18,2007-VALUE(MID(B2,7,4)),"身份证错"))4.Excel表中用Year\Month\Day函数取相应的年月日数据;方法二:这是根据身份证号码(15位和18位通用)自动提取性别和出生年月的自编公式,供需要的网友参考:说明:公式中的B2是身份证号1、根据身份证号码求性别:=IF(LEN(B2)=15,IF(MOD(VALUE(RIGHT(B2,3)),2)=0,"女","男"),IF(LEN(B2)=18,IF(MOD(VALUE(MID(B2,15,3)),2) =0,"女","男"),"身份证错"))2、根据身份证号码求出生年月:=IF(LEN(B2)=15,CONCATENATE("19",MID(B2,7,2),".", MID(B2,9,2)),IF(LEN(B2)=18,CONCATENATE(MID(B2,7,4), ".",MID(B2,11,2)),"身份证错"))3、根据身份证号码求年龄:=IF(LEN(B2)=15,year(now())-1900-VALUE(MID(B2,7, 2)),if(LEN(B2)=18,year(now())-VALUE(MID(B2,7,4)),"身份证错"))早期的身份证号码为15位数字,现在使用的身份证号码为18位数字,它们的含义如下:(1)15位:1-6位为地区代码,7-8位为出生年份(2位),9-10位为出生月份,11-12位为出生日期,第13-15位为顺序号,这3位奇数为男,偶数为女。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Excel表中身份证号码提取出生年月、性
别、年龄的使用技巧
excle中当一个序列号变更,下面序列号自动变更的方法。
浏览次数:298次悬赏分:0 |解决时间:2011-3-11 12:48 |提问者:kasure
问题补充:
比如我编制了序列号001,002,003。
,然后我要是中间插入一行,比如在002和003之间插入一行,我下面的编号都要变动,如何实现这样的功能?
最佳答案
那我想知道如果你需要删除一行的话,下面的编号是否需要变动?如果都需要变动的话,你可以试试这样:
1、把序号列的单元格格式改成"000"(在设置单元格格式--自定义--类型那里可以改)
2、把序列号的单元格填上公式=row() 。
如果表格上面有表头的话,你数数表头有多少行,在公式后面减去行数,例如有5行表头,公式就是=row()-5
当你插入行的时候把公式填上就可以了
方法一:
1.Excel表中用身份证号码中取其中的号码用:MID(文本,开始字符,所取字符数);
2.15位身份证号从第7位到第12位是出生年月日,年份用的是2位数。
18位身份证号从第7位到第14位是出生的年月日,年份用的是4位数。
从身份证号码中提取出表示出生年、月、日的数字,用文本函数MID()可以达到目的。
MID()——从指定位置开始提取指定个数的字符(从左向右)。
对一个身份证号码是15位或是18位进行判断,用逻辑判断函数IF()和字符个数计算函数LEN()辅助使用可以完成。
综合上述分析,可以通过下述操作,完成形如1978-12-24样式的出生年月日自动提取:
假如身份证号数据在A1单元格,在B1单元格中编辑公式
=IF(LEN(A1)=15,MID(A1,7,2)&"-"&MID(A1,9,2)&"-"&M ID(A1,11,2),MID(A1,7,4)&"-"&MID(A1,11,2)&"-"&MID(A1, 13,2))
回车确认即可。
如果只要“年-月”格式,公式可以修改为
=IF(LEN(A1)=15,MID(A1,7,2)&"-"&MID(A1,9,2),MID(A 1,7,4)&"-"&MID(A1,11,2))
3.这是根据身份证号码(15位和18位通用)自动提取性别的自编公式,供需要的朋友参考:
说明:公式中的B2是身份证号
根据身份证号码求性别:
=IF(LEN(B2)=15,IF(MOD(VALUE(RIGHT(B2,3)),2)=0,"女","男"),IF(LEN(B2)=18,IF(MOD(VALUE(MID(B2,15,1)),2) =0,"女","男"),"身份证错"))
根据身份证号码求年龄:
=IF(LEN(B2)=15,2007-VALUE(MID(B2,7,2)),if(LEN(B2) =18,2007-VALUE(MID(B2,7,4)),"身份证错"))
4.Excel表中用Year\Month\Day函数取相应的年月日数据;
方法二:
这是根据身份证号码(15位和18位通用)自动提取性别和出生年月的自编公式,供需要的网友参考:
说明:公式中的B2是身份证号
1、根据身份证号码求性别:
=IF(LEN(B2)=15,IF(MOD(VALUE(RIGHT(B2,3)),2)=0,"女","男"),IF(LEN(B2)=18,IF(MOD(VALUE(MID(B2,15,3)),2) =0,"女","男"),"身份证错"))
2、根据身份证号码求出生年月:
=IF(LEN(B2)=15,CONCATENATE("19",MID(B2,7,2),".", MID(B2,9,2)),IF(LEN(B2)=18,CONCATENATE(MID(B2,7,4), ".",MID(B2,11,2)),"身份证错"))
3、根据身份证号码求年龄:
=IF(LEN(B2)=15,year(now())-1900-VALUE(MID(B2,7, 2)),if(LEN(B2)=18,year(now())-VALUE(MID(B2,7,4)),"身份证错"))
早期的身份证号码为15位数字,现在使用的身份证号码为18位数字,它们的含义如下:
(1)15位:1-6位为地区代码,7-8位为出生年份(2位),9-10位为出生月份,11-12位为出生日期,第13-15位为顺序号,这3位奇数为男,偶数为女。
(2)18位:1-6位为地区代码,7-10位为出生年份(4位),11-12位为出生月份,13-14位为出生日期,第15-17位为顺序号,同上,第18位为效验位。
在做员工档案管理的工作时,有时希望通过身份证号码,自动提取出各个员工的出生日期、性别、年龄等信息。
现在我们就通过几个公式,来得到这些信息。
1、出生日期
=IF(LEN(A2)=15,CONCATENATE("19",MID(A2,7,2),"/",MID(A2,9,2 ),"/",MID(A2,11,2)),CONCATENATE(MID(A2,7,4),"/",MID(A2,11,2), "/",MID(A2,13,2)))
LEN函数是检测这个身份证号码的数字位数,然后通过IF判断函数对15位或18位的情况做出不同处理。
CONCATENATE函数将提取出的分别代表“年”、“月”、“日”的信息,以及分隔符“/”等内容,合并成一个文本字符串。
MID函数的做用是从身份证的某个位置开始,取出若干字符。
比如MID(A2,7,2),就是将身份证号码(放在A2单元格中),从左边数第七个字符开始,取出2个字符。
2、性别
=IF(LEN(A2)=15,IF(VALUE(RIGHT(A2,3))/2=INT(VALUE(RIGHT(
A2,3))/2),"女","男
"),IF(VALUE(MID(A2,15,3))/2=INT(VALUE(MID(A2,15,3))/2),"女","男"))
由于代表性别的数字中,偶数为“女”,奇数为“男”,所以在这个公式中用VALUE函数将取出的字符串变成数字,再除以2,看是否能整除,因为奇数是不能整除的。
这里的INT函数是“取整”的意思,把上面除2后的结果用它取整,让IF函数判断一下,取整前后的结果是否相同,相同为偶数,不相同为奇数。
公式中的RIGHT函数是从字串的右边(即字符串最后面)取若干符,注意与MID函数的区别。
3、年龄
=CONCATENATE(DATEDIF(B2,TODAY(),"y"),"年
",DATEDIF(B2,TODAY(),"ym"),"个月")
由于我们用上面的公式,将“出生日期”提取到B2单元格,所以这里的公式是通过操作B2单元格的数据来得到年龄的。
函数DATEDIF是计算两个日期或时间的差值,通过第三个参数来确定所要的结果,比如“y”会得到两个日期相差的年;“ym”会得到除年外,所余的月数。
TODAY()函数的作用是得到当前系统日期,即电脑上今天的日期。
最终结果见下图:
如果从网上找到前6位数所代表的地区代码列表,然后用VLOOKUP 函数引用,就可以自动得到各员工的居住城市信息了。
公式写:="距离生日还有
"&IF(DATE(YEAR(TODAY()),MID(H2,11,2),MID(H2,13,2))-TODAY()>0,DATE( YEAR(TODAY()),MID(H2,11,2),MID(H2,13,2))-TODAY(),DATE(YEAR(TODA Y())+1,MID(H2,11,2),MID(H2,13,2))-TODAY())&"天"
变色就要用条件格式了,条件格式的公式写成:=--MID(H2,11,2)=month(today())。