配色: 字号:
在excel中从身份证号中提取出生日期--方法
2012-08-30 | 阅:  转:  |  分享 
  
方法一:I_eYTy-a`1?????15位身份证号:410881790605552??输出出生日期1979/06/05??!XgkKk?=CONCATENATE("19",MID(B2,7,2),"/",MID(B2,9,2),"/",MID(B2,11,2))875V{fvPBU?????公式解释:{w{|y[[d~?????a.MID(B2,7,2)为在身份证号码中获取表示年份的数字的字符串-Z]?v39?????b.MID(B2,9,2)为在身份证号码中获取表示月份的数字的字符串O,:ent|?????c.MID(B2,11,2)为在身份证号码中获取表示日期的数字的字符串[#uX{!q''?????/3rt]h"?d.CONCATENATE("19",MID(B2,7,2),"/",MID(B2,9,2),"/",MID(B2,11,2))目的就是将多个字符串合并在一起显示。WB$Z<m:?????18位身份证号:410881197906055521?输出出生日期1979/06/05??nN/v7^^?=CONCATENATE(MID(B2,7,4),"/",MID(B2,11,2),"/",MID(B2,13,2))d/Fjs0pt?



复制后面的就行了=CONCATENATE(MID(I2,7,4),"-",MID(I2,11,2),"-",MID(I2,13,2))d/Fjs0pt?

跟其他函数的使用方法相同,算出第一个后,在往下拖就都算好了



方法二:%|oY8;0|A>?????15位身份证号:410881790605552??出生日期790605????C[?itk!?=IF(LEN(B2)=15,MID(B2,7,6),MID(B2,9,6))m->chOu~|?????18位身份证号:410881197906055521出生日期790605????~$!eB/6ty?=IF(LEN(B2)=15,MID(B2,7,6),MID(B2,9,6))RAXqRP,iw?公式解释:Mwp#.du(?????LEN(B2)=15:检查E2单元格中字符串的字符数目,本例的含义是检查身份证号码的长度是否是15位。f![x7D$?????MID(B2,7,6):从E2单元格中字符串的第7位开始提取6位数字,本例中表示提取15位身份证号码的第7、8、9、10、11、12位数字。&FkKnz4IZ?????MID(B2,9,6):从C2单元格中字符串的第9位开始提取6位数字,本例中表示提取18位身份证号码的第9、10、11、12、13、14位数字。TBrAYEk?????9SC#N5V?=IF(LEN(B2)=15,MID(B2,7,6),MID(B2,9,6)):IF是一个逻辑判断函数,表示如果额E2单元格是15位,则提取第7位开始的6位数字,如果不是15位则提取自第9位开始的6位数字。G\wu&7!?>`''#4!}G5j?-NiFO?根据身份证号码自动生成性别:IOvYvFUUJ?方法一:tojJQ6;J?????f2V?在B列输入身份证号,在C列填写性别,可以在C2单元格中输入公式“=IF(MOD(IF(LEN(B2)=15,MID(B2,15,1),MID(B2,17,1)),2)=1,"男","女")”,其中:&tL g}7?iB?????LEN(B2)=15:检查身份证号码的长度是否是15位。g3e\''B''?????MID(B2,15,1):如果身份证号码的长度是15位,那么提取第15位的数字。04WKAP''cN?????MID(B2,17,1):如果身份证号码的长度不是15位,即18位身份证号码,那么应该提取第17位的数字。XHlPjw?????U/D\N0?MOD(IF(LEN(B2)=15,MID(B2,15,1),MID(B2,17,1)),2):用于得到给出数字除以指定数字后的余数,本例表示对提出来的数值除以2以后所得到的余数。lJR ",_?????/bfsC& 3?IF(MOD(IF(LEN(B2)=15,MID(B2,15,1),MID(B2,17,1)),2)=1,"男","女"):如果除以2以后的余数是1,那么B2单元格显示为“男”,否则显示为“女”。''S@h._q?????15位身份证,看最后一位,奇男偶女;18位的,看第17位数,也是奇男偶女。NnrX64|0?方法二:l'')?w]|?????如果你是想在Excel表格中,从输入的身份证号码内让系统自动提取性别,可以输入以下公式:K}&|lCsb?????q`"gT;3S?=IF(LEN(B2)=15,IF(MOD(MID(B2,15,1),2)=1,"男","女"),IF(MOD(MID(B2,17,1),2)=1,"男","女"))`:-{8Vo7?????公式内的“B2”代表的是输入身份证号码的单元格。今天我们介绍用Excel自动解读身份证号码信息的方法。这个自动解读表可以将身份证表格中的出生日期、性别自动解读出来。如果您愿意,当然还可以用挖掘出来的信息做更多的数据统计和计算。文章末尾提供.xls文件供大家下载参考。

众所周知,15位(18位)身份证号码的第7—12位(14位)数字代表着持证人的出生年、月、日;第15位(17位)数字代表着持证人的性别(奇数为“男”,偶数为“女”)。下面,我们就利用Excel强大的函数功能,从身份证号码中将这些信息挖掘出来,显示在相应的单元格中。

本例涉及到的Excel函数如下:

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单元格中(如图1)。

上述第一个公式的含义分三层来理解:

①如果身份证号码是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),则显示“女”,否则显示“男”。

再次选中D2单元格,用“填充柄”将上述公式复制到D列下面的单元格中,即可显示出其他持证人的性别。

注意:如果将上述公式修改为:=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位,系统提示“号码有错”(参见图1),则效果更佳。

注意:修改后的公式与上面的公式含义相似。

二、显示出生年、月、日

选中E2单元格,输入公式:=IF(LEN(C2)=15,DATE(MID(C2,7,2),MID(C2,9,2),MID(C2,11,2)),DATE(MID(C2,7,4),MID(C2,11,2),MID(C2,13,2))),输入完成后,按下“Enter”键进行确认,第1位持证人的出生年、月、日则自动显示在E2单元格中(参见图1)。

上述公式的含义如下:

如果(IF)身份证号码是15位(LEN(C2)=15),则取其7至8位(MID(C2,7,2))、9至10位(MID(C2,9,2))、11至12位(MID(C2,11,2)),并以日期的格式显示出来(DATE(MID(C2,7,2),MID(C2,9,2),MID(C2,11,2)));

反之,取其7至10位(MID(C2,7,4))、11至12位(MID(C2,11,2))、13至14位(MID(C2,13,2)),再以日期的格式显示出来(DATE(MID(C2,7,4),MID(C2,11,2),MID(C2,13,2)))。

再次选中E2单元格,用“填充柄”将上述公式复制到E列下面的单元格中,即可显示出其他持证人的出生年、月、日。

选中E列中含有日期的单元格区域,执行“格式→单元格”命令,打开“单元格格式”对话框(如图2),切换到“格式”标签中(通常是默认的标签),先在“格式类别”下面选中“日期”选项,然后在“示例”下面选中一种适合国人习惯的日期样式,确定返回。

注意:①如果不设置单元格格式,也是完全可以的,只不过显示出来的日期样式是“1976-12-17”。

②如果将上述公式修改为:=IF(LEN(C2)=15,DATE(MID(C2,7,2),MID(C2,9,2),MID(C2,11,2)),IF(LEN(C2)=18,DATE(MID(C2,7,4),MID(C2,11,2),MID(C2,13,2)),"号码有错")),当输入的号码不是15位或18位,系统提示“号码有错”(参见图1),则效果更佳。

注意:修改后的公式与上面的公式含义相似。



















献花(0)
+1
(本文系问之室首藏)