从身份证号码提取出生日期、性别
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
从身份证号码提取出生日期、性别
1、分析身份证号码
15位身份证号码:第7、8位为出生年份(两位数),第9、10位为出生月份,第11、12位代表出生日期,第5位代表性别,奇数为男,偶数为女。
18位身份证号码:第7、8、9、10位为出生年份(四位数),第11、第12位为出生月份,第13、14位代表出生日期,第17位代表性别,奇数为男,偶数为女。
2、提取个人信息
这里,我们需要使用IF、LEN、MOD、MID、DATE等函数从身份证号码中提取个人信息。其中员工的身份证号码信息已输入完毕(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所示,现在这份报表无论
是提取信息或是核对,都方便多了
在excel表中,比较B列和A列的数据,把B列中与A列不相同的数据在C列表示出来,再在A和B列中删除相同的数据
在 C2 单元格输入公式: =IF(COUNTIF(A:A,B2)>=1,"",B2) ,然后往下拖拉复制公式。
1、在A、B、C列中间各插入一列。
2、在 B2输入公式:
=IF(COUNTIF(C:C,A2)>=1,1,"")
同理,在D2输入公式:
=IF(COUNTIF(A:A,C2)>=1,1,"")
各自排序,删除结果为 1 的数据。
在excel表中查找不同列的相同数据记录
在C列做如下公式:=VLOOKUP(B:B,A:A,1,0),用Ctrl+D向下填充,
如此筛选出来的就是A、B列重复的数字了