身份证号码换算年龄、性别、出生日期的公式

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

15位和18位的身份证号都合适的了。设内容如下:

........A列......B列......C列......D列....

1 身份证号性别出生年月年龄

2(输入身份证号)

算年龄的:

“=IF(OR(LEN(A2)=15,LEN(A2)=18),RIGHT(IF(IF(LEN(A2)=15,MID(A2,9,2),MID(A2,11,2) )*100+IF(LEN(A2)=15,MID(A2,11,2),MID(A2,13,2))>MONTH(TODAY())*100+DAY(TODA Y()),YEAR(TODAY())-IF(LEN(A2)=15,MID(A2,7,2),MID(A2,9,2))-1,YEAR(TODAY())-IF(L EN(A2)=15,MID(A2,7,2),MID(A2,9,2))),2),"证号错误")”

算性别的:

“=IF(LEN(A2)=15,(IF(OR(ABS(RIGHT(A2))=1,ABS(RIGHT(A2))=3,ABS(RIGHT(A2))=5,A BS(RIGHT(A2))=7,ABS(RIGHT(A2))=9),"男","女

")),(IF(OR(ABS(MID(A2,17,1))=1,ABS(MID(A2,17,1))=3,ABS(MID(A2,17,1))=5,ABS(MID( A2,17,1))=7,ABS(MID(A2,17,1))=9),"男","女")))”

算出生年月的:

“=DATE(IF(LEN(E3)=15,MID(E3,7,2),MID(E3,9,2)),IF(LEN(E3)=15,MID(E3,9,2),MID(E3,1 1,2)),IF(LEN(E3)=15,MID(E3,11,2),MID(E3,13,2)))”

只要把输入身份证号的单元格格式设为“文本”就是最关键的,准确。

注:A2、E3是身份证号所在列和行,应相应改动

另一种方法

=DATEDIF(TEXT((LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),"00-00-00"),TODAY() ,"y" )

A1是身份证号,在B1中输入上面的公式试试

在Excel中按身份证号码提出一定年龄段的人出来

在Excel中,有一个几千人的工作表,现在我想把工作表中满70岁的人员提出来,能依靠的条件就是身份证。而身份证号有十八位号和十五位号两种。也就是说,要依据身份证号找出在36年之前出生的人,该如何操作。

假设你的表格中从A3单元格开始填写身份证号码,那么可在该列后面插入一列,即B列,在B3输入公式:=IF(LEN(A3)=18,MID(A3,7,4),"19"&MID(A3,7,2)) 。将公式拖动复制到需要的行。这时选中该列——右键——复制——在原位(B3)单击右键——选择性粘贴——选数值——确定(该步骤目的是将公式列变为数字列,便于筛选)。现在,选中第二行——数据——筛选——自动筛选——在B列的下拉菜单中选“自定义”——在“显示行”的相应框中输入“小于或等于”-“1936”——确定。所有在1936年及其以后出生的就筛选出来了。注意:以上公式既适合18位,又适合15位身份证号码提取年份。

一、分析身份证号码

其实,身份证号码与一个人的性别、出生年月、籍贯等信息是紧密相连的,无论是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. 提取出生年月信息

由于上交报表时只需要填写出生年月,不需要填写出生日期,因此这里我们只需要关心身份证号码的相应部位即可,即显示为“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格式,并在“单元格格式→日期”中进行设置。

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单元格显示正确的性别信息,接下来就是选中填充柄直接拖曳。如图2所示,现在这份报表无论是提取信息或是核对,都方便多了

=DATEDIF(IF(LEN(A1)=18,DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2)),DATE(MID(A 1,7,2),MID(A1,9,2),MID(A1,11,2))),TODAY(),"Y")。

=YEAR(NOW())-IF(LEN(A1)=15,19&MID(A1,7,2),MID(A1,7,4))

其中A1为输入身份证号码的单元格

第一个公式得出的是实际年龄,就是按月算,第二个公式得出的是按年算的年龄.

****在Excel中按身份证号码显示18-65周岁年龄段的人出来

在Excel中,按身份证号码显示18-65周岁年龄段的人实际年龄,超过这个年龄段的显示为“不符合规定”具体为E2为身

B2=IF(ABS(DATEDIF(TEXT((LEN(E2)=15)*19&MID(B1,7,6+(LEN(E2)=18)*2),"#-00-00"), NOW(),"Y")-41.5)<24,DATEDIF(TEXT((LEN(E2)=15)*19&MID(E2,7,6+(LEN(B1)=18)*2)," #-00-00"),NOW(),"Y"),"不符合规定")

相关文档
最新文档