如何在Excel里根据身份证号码自动填写性别、出生年月、年龄

如何用Excel制作公司人事档案?... 如何用Excel制作公司人事档案? 展开
 我来答
该问答中所提及的号码未经验证,请注意甄别。
百度网友f11d87e
推荐于2016-08-08 · TA获得超过3822个赞
知道大有可为答主
回答量:1308
采纳率:50%
帮助的人:1288万
展开全部
一、分析身份证号码

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

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

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

例如,某员工的身份证号码(15位)是320521720807024,那么表示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所示,现在这份报表无论是提取信息或是核对,都方便多了
创作者0iFvablQBe
2019-06-30 · TA获得超过3.5万个赞
知道大有可为答主
回答量:1.6万
采纳率:29%
帮助的人:1072万
展开全部
身份证号放到A2,B2放计算的出生日期,C2放性别

B2=if(len(A2)=18,TEXT(mid(A2,7,8),"0000年00月00日"),if(len(A2)=15,TEXT(mid(A2,7,6),"00年00月00日"),"身份证号错误"))
C2=if(MOD(RIGHT(C14,1),2)=1,"男","女")
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
创作者B1aMElq1gf
2019-03-12 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.6万
采纳率:30%
帮助的人:1084万
展开全部
18位身份证号,以身份证号在A1单元格中为例:
出生年月可以用:
=mid(A1,7,8)
性别可以用:
=if(mod(mid(A1,17,1),2),"男","女")
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
创作者hGUD0Iwqu4
2019-01-25 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.6万
采纳率:33%
帮助的人:1149万
展开全部
如果是18位的身份证号,直接用mid函数从身份证号字符串中取出对应年月日就可以了。例如=MID(A6,7,4)&"-"&MID(A6,11,2)&"-"&MID(A6,13,2)性别一样,加一个判断就行了。
15位身份证号码:第7、8位为出生年份(两位数),第9、10位为出生月份,第11、12位代表出生日期,第15位代表性别,奇数为男,偶数为女。
18位身份证号码:第7、8、9、10位为出生年份(四位数),第11、第12位为出生月份,第13、14位代表出生日期,第17位代表性别,奇数为男,偶数为女。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tianchengjie
2008-03-24 · TA获得超过916个赞
知道小有建树答主
回答量:1653
采纳率:0%
帮助的人:1029万
展开全部
上面的牛!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式