当前位置:文档之家› 从身份证号码,提取日期

从身份证号码,提取日期

从身份证号码,提取日期
从身份证号码,提取日期

从身份证号码提取出生日期、性别、年龄等信息

早期的身份证号码为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,CONCA TENATE("19",MID(A2,7,2),"/",MID(A2,9,2),"/",MID(A2,11,2)),CONCATENATE(M ID(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(V ALUE(RIGHT(A2,3))/2),"女","男"),IF(V ALUE(MID(A2,15,3))/2=INT(V ALUE(MID(A2,15,3))/2),"女","男"))

由于代表性别的数字中,偶数为“女”,奇数为“男”,所以在这个公式中用V ALUE函数将取出的字符串变成数字,再除以2,看是否能整除,因为奇数是不能整除的。

这里的INT函数是“取整”的意思,把上面除2后的结果用它取整,让IF函数判断一下,取整前后的结果是否相同,相同为偶数,不相同为奇数。

公式中的RIGHT函数是从字串的右边(即字符串最后面)取若干符,注意与MID函数的区别。

3、年龄

=CONCATENATE(DATEDIF(B2,TODAY(),"y"),"年",DATEDIF(B2,TODAY(),"ym"),"个月")

由于我们用上面的公式,将“出生日期”提取到B2单元格,所以这里的公式是通过操作B2单元格的数据来得到年龄的。

函数DA TEDIF是计算两个日期或时间的差值,通过第三个参数来确定所要的结果,比如“y”会得到两个日期相差的年;“ym”会得到除年外,所余的月数。

TODAY()函数的作用是得到当前系统日期,即电脑上今天的日期。

汉字转变拼音

Function PinYin(Hz As String)

Dim PinMa As String

Dim MyPinMa As Variant

Dim Temp As Integer, i As Integer, j As Integer

PinMa = "a,20319,ai,20317,an,20304,ang,20295,ao,20292,"

PinMa = PinMa &

"ba,20283,bai,20265,ban,20257,bang,20242,bao,20230,bei,20051,ben,20036,beng,20032,bi,20026,bia n,20002,biao,19990,bie,19986,bin,19982,bing,19976,bo,19805,bu,19784,"

PinMa = PinMa &

"ca,19775,cai,19774,can,19763,cang,19756,cao,19751,ce,19746,ceng,19741,cha,19739,chai,19728,ch an,19725,chang,19715,chao,19540,che,19531,chen,19525,cheng,19515,chi,19500,chong,19484,chou, 19479,chu,19467,chuai,19289,chuan,19288,chuang,19281,chui,19275,chun,19270,chuo,19263,ci,1926 1,cong,19249,cou,19243,cu,19242,cuan,19238,cui,19235,cun,19227,cuo,19224,"

PinMa = PinMa &

"da,19218,dai,19212,dan,19038,dang,19023,dao,19018,de,19006,deng,19003,di,18996,dian,18977,dia o,18961,die,18952,ding,18783,diu,18774,dong,18773,dou,18763,du,18756,duan,18741,dui,18735,dun, 18731,duo,18722,"

PinMa = PinMa & "e,18710,en,18697,er,18696,"

PinMa = PinMa &

"fa,18526,fan,18518,fang,18501,fei,18490,fen,18478,feng,18463,fo,18448,fou,18447,fu,18446," PinMa = PinMa &

"ga,18239,gai,18237,gan,18231,gang,18220,gao,18211,ge,18201,gei,18184,gen,18183,geng,18181,go ng,18012,gou,17997,gu,17988,gua,17970,guai,17964,guan,17961,guang,17950,gui,17947,gun,17931, guo,17928,"

PinMa = PinMa &

"ha,17922,hai,17759,han,17752,hang,17733,hao,17730,he,17721,hei,17703,hen,17701,heng,17697,ho ng,17692,hou,17683,hu,17676,hua,17496,huai,17487,huan,17482,huang,17468,hui,17454,hun,17433, huo,17427,"

PinMa = PinMa &

"ji,17417,jia,17202,jian,17185,jiang,16983,jiao,16970,jie,16942,jin,16915,jing,16733,jiong,16708,jiu,167 06,ju,16689,juan,16664,jue,16657,jun,16647,"

PinMa = PinMa &

"ka,16474,kai,16470,kan,16465,kang,16459,kao,16452,ke,16448,ken,16433,keng,16429,kong,16427,k ou,16423,ku,16419,kua,16412,kuai,16407,kuan,16403,kuang,16401,kui,16393,kun,16220,kuo,16216," PinMa = PinMa &

"la,16212,lai,16205,lan,16202,lang,16187,lao,16180,le,16171,lei,16169,leng,16158,li,16155,lia,15959,li an,15958,liang,15944,liao,15933,lie,15920,lin,15915,ling,15903,liu,15889,long,15878,lou,15707,lu,1570 1,lv,15681,luan,15667,lue,15661,lun,15659,luo,15652,"

PinMa = PinMa &

"ma,15640,mai,15631,man,15625,mang,15454,mao,15448,me,15436,mei,15435,men,15419,meng,154 16,mi,15408,mian,15394,miao,15385,mie,15377,min,15375,ming,15369,miu,15363,mo,15362,mou,151 83,mu,15180,"

PinMa = PinMa &

"na,15165,nai,15158,nan,15153,nang,15150,nao,15149,ne,15144,nei,15143,nen,15141,neng,15140,ni,

15139,nian,15128,niang,15121,niao,15119,nie,15117,nin,15110,ning,15109,niu,14941,nong,14937,nu, 14933,nv,14930,nuan,14929,nue,14928,nuo,14926,"

PinMa = PinMa & "o,14922,ou,14921,"

PinMa = PinMa &

"pa,14914,pai,14908,pan,14902,pang,14894,pao,14889,pei,14882,pen,14873,peng,14871,pi,14857,pia n,14678,piao,14674,pie,14670,pin,14668,ping,14663,po,14654,pu,14645,"

PinMa = PinMa &

"qi,14630,qia,14594,qian,14429,qiang,14407,qiao,14399,qie,14384,qin,14379,qing,14368,qiong,14355, qiu,14353,qu,14345,quan,14170,que,14159,qun,14151,"

PinMa = PinMa &

"ran,14149,rang,14145,rao,14140,re,14137,ren,14135,reng,14125,ri,14123,rong,14122,rou,14112,ru,14 109,ruan,14099,rui,14097,run,14094,ruo,14092,"

PinMa = PinMa &

"sa,14090,sai,14087,san,14083,sang,13917,sao,13914,se,13910,sen,13907,seng,13906,sha,13905,sh ai,13896,shan,13894,shang,13878,shao,13870,she,13859,shen,13847,sheng,13831,shi,13658,shou,13 611,shu,13601,shua,13406,shuai,13404,shuan,13400,shuang,13398,shui,13395,shun,13391,shuo,133 87,si,13383,song,13367,sou,13359,su,13356,suan,13343,sui,13340,sun,13329,suo,13326,"

PinMa = PinMa &

"ta,13318,tai,13147,tan,13138,tang,13120,tao,13107,te,13096,teng,13095,ti,13091,tian,13076,tiao,130 68,tie,13063,ting,13060,tong,12888,tou,12875,tu,12871,tuan,12860,tui,12858,tun,12852,tuo,12849," PinMa = PinMa &

"wa,12838,wai,12831,wan,12829,wang,12812,wei,12802,wen,12607,weng,12597,wo,12594,wu,12585, "

PinMa = PinMa &

"xi,12556,xia,12359,xian,12346,xiang,12320,xiao,12300,xie,12120,xin,12099,xing,12089,xiong,12074,x iu,12067,xu,12058,xuan,12039,xue,11867,xun,11861,"

PinMa = PinMa &

"ya,11847,yan,11831,yang,11798,yao,11781,ye,11604,yi,11589,yin,11536,ying,11358,yo,11340,yong,1 1339,you,11324,yu,11303,yuan,11097,yue,11077,yun,11067,"

PinMa = PinMa &

"za,11055,zai,11052,zan,11045,zang,11041,zao,11038,ze,11024,zei,11020,zen,11019,zeng,11018,zha ,11014,zhai,10838,zhan,10832,zhang,10815,zhao,10800,zhe,10790,zhen,10780,zheng,10764,zhi,1058 7,zhong,10544,zhou,10533,zhu,10519,zhua,10331,zhuai,10329,zhuan,10328,zhuang,10322,zhui,1031 5,zhun,10309,zhuo,10307,zi,10296,zong,10281,zou,10274,zu,10270,zuan,10262,zui,10260,zun,10256, zuo,10254"

MyPinMa = Split(PinMa, ",")

For i = 1 To Len(Hz)

Temp = Asc(Mid(Hz, i, 1))

If Temp < 0 Then

Temp = Abs(Temp)

For j = 791 To 1 Step -2

If Temp <= Val(MyPinMa(j)) Then

PinYin = PinYin & MyPinMa(j - 1) & " "

Exit For

End If

Next

End If

Next

PinYin = Trim(PinYin)

End Function

Excel自定义函数方法:

1.启动Excel 2003(其它版本请仿照操作),打开相应的工作表;

2.执行“工具→宏→Visual Basic编辑器”命令(或者直接按“Alt+F11”组合键),进入Visual Basic编辑状态;

3.执行“插入→模块”命令,插入一个新模块。再双击插入的模块,进入模块代码编辑状态;

4.将代码输入其中;

5.代码输入完成后,关闭Visual Basic编辑窗口,返回Excel编辑状态;

6.自定义函数就可以用了,如:选中D2单元格,输入公式:=PinYin(A2)。

大家想在Excel中与word一样可以统计字数吗?试试数组公式“{=SUM(LEN(单元格区域范围))}”吧。方法是:在需要统计总字数的单元格的后面一个单元格输入公式“=SUM(LEN(A1:B1))”,最后按“Ctrl+Shift+Enter”组合键,就能看到在该单元格字数统计的结果。

excel 怎样从身份证号码提取年龄和性别

excel 怎样从身份证号码提取年龄和性别- [电脑应用技巧] 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 https://www.doczj.com/doc/dc7799621.html,/logs/50218662.html 因为自己需要,在网上找来了这个教程,函数真是好用的东西。这个教程很详细,不过我偷懒,因为自己觉得只需要看公式,所以用红字标记方便自己。。。。 在EXCEL中如何利用身份证号码计算出生年月、年龄及性别 在学校的人事管理中经常会遇到需要统计教职工的年龄的问题,但案头的原始资料只有身份证号码,其实这足够了。在EXCEL中,引用其内置函数利用身份证号码达到此目的比较简单。1、身份证号码简介(18位): 1~6位为地区代码;7~10位为出生年份;11~12位为出生月份;13~14位为出生日期;15~17位为顺序号,并能够判断性别,奇数为男,偶数为男;第18位为校验码。 2、确定“出生日期”: 18位身份证号码中的生日是从第7位开始至第14位结束。提取出来后为了计算“年龄” 应该将“年”“月”“日”数据中添加一个“/”或“-”分隔符。 ①正确输入了身份证号码。(假设在D2单元格中) ②将光标定位在“出生日期”单元格(E2)中,然后在单元格中输入函数公式 “=MID(D2,7,4)&"-"&MID(D2,11,2)&"-"&MID(D2,13,2)”即可计算出“出生日期”。 关于这个函数公式的具体说明:MID函数用于从数据中间提取字符,它的格式是:MID (text,starl_num,num_chars)。 Text是指要提取字符的文本或单元格地址(上列公式中的D2单元格)。 starl_num是指要提取的第一个字符的位置(上列公式中依次为7、11、13)。 num_chars指定要由MID所提取的字符个数(上述公式中,提取年份为4,月份和日期为2)。 多个函数中的“&”起到的作用是将提取出的“年”“月”“日”信息合并到一起,“/”或“-” 分隔符则是在提取出的“年”“月”“日”数据之间添加的一个标记,这样的数据以后就可以作为日期类型进行年龄计算。确定“年龄”:

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)&"-"&MID(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(A1,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(B 2,7,4)),"身份证错")) 4.Excel表中用Year\Month\Day函数取相应的年月日数据;

最新-第二代身份证号码提取出生年月日的公式-(很简单)

1、第二代身份证号码提取出生年月日的公式: =MID(A1,7,4)&"-"&MID(A1,11,2)&"-"&MID(A1,13,2) 注:A是列,1是行,&在数字键7的上方。 2、第二代身份证号码提取性别男、女的公式: =IF(MOD(MID(A1,17,1),2),"男","女") 注:A是列,1是行。 3、excel用身份证号算年龄的工式 比如身份证号保存在a1单元格,那么可以使用=mid(a1,7,4)来取出出生年,再用当前年份减去这个就是年龄了。 4、提取身份证出生年月 ="19"&MID(B1,9,2)&"年"&MID(B1,11,2)&"月"&MID(B1,13,2)&"日" 5、提取身份证年龄 =YEAR(NOW())-YEAR(IF(LEN(B1)=18,DATE(MID(B1,7,4),MID(B1,11,2),M ID(B1,13,2)),DATE(MID(B1,7,2),MID(B1,9,2),MID(B1,11,2)))) 6、提取身份证性别 =IF(LEN(B1)=15,IF(MOD(MID(B1,15,1),2)=1,"男","女"),IF(MOD(MID(B1,17,1),2)=1,"男","女")) 7、公式内的“B1”代表的是输入身份证号码的单元格。 Excel自动提取身份证中生日和性别以及年龄 (注意:以B2单元格中是18位身份证号为例) 一、提取出生日期的输入公式 =MID(B2,7,4)&"年"&MID(B2,11,2)&"月"&MID(B2,13,2)&"日" 二、判断性别“男女”的输入公式

=IF(MID(B2,17,1)/2=TRUNC(MID(B2,17,1)/2),"女","男") 三、利用身份证号码求年龄 =IF(B2="","",DATEDIF(TEXT((LEN(B2)=15)*19&MID(B2,7,6+(LEN (B2)=18)*2),"#-00-00"),TODAY(),"y")) 八、计算年龄的公式? datedif(开始日期,结束日期,"M") 九、用公式计算最大年龄? max(D3:D21) 十、用公式计算25--35岁之间的人数? =COUNTIFS(D3:D21,">"&25,D3:D21,"<"&35) 十一、计算25岁以下的人数? =COUNTIF(D3:D21,">"&25) 十二、计算25岁以下人数的比例? =COUNTIF(D3:D21,">"&25)/count(D3:D21) 十三、用excel做表输入年月日,可以变成例如1986-01-01的格式吗?能的话怎么变? 先选中单元格,鼠标右击,“设置单元格格式”,“数字”,“自定义”,在类型处输入 e-mm-dd 确定 十四、1.自动录入性别: “=IF(LEN(C2)=15,IF(MOD(MID(C2,15,1),2)=1,"男","女"),IF(MOD(MID(C2,17,1),2)=1,"男","女"))” if假如(len(C2)得到C2的字符长度等于15,[15时mod除以2的余数(取mid(C2单元格,第15个的,1个字符),除以2)],[不等于15条

excel 根据身份证号码自动提取出生年月

excel 根据身份证号码自动提取出生年月、性别、年龄的方法 在excel表格中,根据身份证号码就可以自动提取出生年月、性别、年龄。 第一,身份证号码的组成。 当今的身份证号码由18位数字组成:前6位为地址码,第7至14位为出生日期码,第15至17位为顺序码,第18位为校验码。 15~17位为顺序号,其中第17位如果是单数为男性分配码,双数为女性分配码。即通过第17位数字,可以判断性别,奇数为男,偶数为女。 下面以实例的方式讲解如何根据身份证号码自动提取出生年月、性别、年龄。首先,在excel中输入以下表格,实例如下面所示。 (身份证号码的输入方法见 A B C D E 姓名身份证号码出生日期性别年龄 张三510321************ 1972年05月03日女37 第二,根据身份证号码自动提取出生年月 =MID(C2,7,4)&"."&MID(C2,11,2)&"."&MID(C2,13,2)&"" 在目标单元格输入公式:=MID(B2,7,4)&"年"&MID(B2,11,2)&"月 "&MID(B2,13,2)&"日",回车确定,单元格内会出现与身份证号码相关的出生日期。其它单元格的填充,不必一一输入公式,只需选中该单元格复制,在其它单元格内粘贴即可。 提示:MID函数是提供的一个“从字符串中提取部分字符”的函数命令。 第三,根据身份证号码自动提取性别的方法 在目标单元格输入公式:=IF(MOD(RIGHT(LEFT(B2,17)),2),"男","女") 提示:IF函数:根据逻辑表达式测试的结果,返回相应的值。IF函数允许嵌套。 RIGHT函数:根据所指定的字符数返回文本串中最后一个或多个字符。 第四,根据身份证号码自动提取年龄的方法 在目标单元格输入公式: =DATEDIF(TEXT(MID(B2,7,6+2*(LEN(B2)=18)),"#-00-00"),NOW(),"y"),回车确定。 如何从身份证号码中提取出生年月 在处理人员信息表格中,又要录入出生年月,还要输入身份证号。我们可以只输身份证号,通过一点技巧就能提取出生年月。方法如下: 要在下表中的出生年月中录入,1、先在I3单元格输入公式“=MID(D3,7,8)其中,I3表示转变的年令是放在I列的第三行,D3表示你要截取的数值源(即身份证号那一列,而且是第三行),7表示你要从第几位始截取),8表示你要截取的长度),向下复制拉动即可。

Excel表中身份证号码提取出生年月、年龄、性别的使用技巧[1]

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))

用Excel从身份证号码中提取信息(年龄、性别、出生地)

用Excel从身份证号码中提取信息 (年龄、性别、出生地) 出生年月日信息提取: 方法一:在记录列中输入公式:=--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文件,另存为××文件,即可使用。 谢谢你的使用。 水晶六彩

通过身份证号码提取年龄 性别 出生年月

通过身份证号码提取年龄性别出生年月 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)&"- "&MID(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(A1,7,4)&"- "&MID(A1,11,2)) ----------------------------------------------------------------------------------------- -------------- 这是根据身份证号码(15位和18位通用)自动提取性别和出生年月的自编公式,供参考: 说明:公式中的B2是身份证号 1、根据身份证号码求性别: =IF(LEN(B2)=15,IF(MOD(VALUE(RIGHT(B2,3)),2)=0,"女","男"),IF(LEN(B2)=18份证错")) 2、根据身份证号码求出生年月: =IF(LEN(B2)=15,CONCATENATE("19",MID(B2,7,2),".",MID(B2,9,2)),IF(LEN(B 份证错")) 3、根据身份证号码求年龄:

2019年从身份证号码提取出生日期、性别

从身份证号码提取出生日期、性别 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,"男","女")”,其中:

2种方法,在身份证号中提取出生年月日

2种方法,在身份证号中提取出生年月日 教程背景:公司最近新入职了20名员工,已知每个员工的身份证号,现需要将员工的出生年月日统计出来,纳入公司的福利数据库,以便在员工生日当天为员工发放生日福利。 员工身份证号▼ 方法一:函数法 MID函数与TEXT函数的配合使用) MID函数:用于从字符串的指定位置开始,提取特定数目的字符串。 Text函数:表示将数值转化为自己想要的文本格式。

身份证号码为18位,第7位到第14位这8个数字为出生年月日。 步骤一、使用公式“=MID(C2,7,8)”就是从C2单元格的第7位开始,提取8位数字,结果为'19870507'。 步骤一得到的结果▼ 步骤二、再使用公式“=TEXT(MID(C2,7,8),'0-00-00'),将这个字符串变成 '0-00-00'的样式,结果为'1987-05-07'。 步骤二得到的结果▼

步骤三、现在'1987-05-07'只是有了日期的外形,但是本身还是文本型的,变成日期型的还需要在最前面加两个负号“--”,通过两次“负”的运算,就成为了真正的日期格式了。最终公式为“=--TEXT(MID(C2,7,8),'0-00-00')”。 步骤三得到的结果▼

可能细心的读者发现了,步骤二和步骤三得到的结果看起来是一样的啊,为什么要多此一举呢?这个地方用“=”公式检验一下就可以知道是不是一样的呢。 公式验证▼

由此可见,步骤二的结果和步骤三的结果完全不一样,步骤二是文本格式,步骤三是日期格式,当我们把年月日变为日期格式后,在使用其他数据透视表或者其他工具时,日期格式的数据才能被识别进行相应的运算。 方法二:分列 直接使用工具栏数据-分列 步骤一、利用分列选择“固定宽度”。 固定宽度▼

Excel从身份证号中提取出生年月和年龄

假设数据在A1单元格 B1单元格输入公式 =right(a1,len(a1)-2) (公式中的“2”是指栓出前面的位数)或 =substitute(a2,"SF",) 双击填充柄填充或下拉填充 然后复制B列,选择性粘贴为数值,替换到A列中 如何利用Excel从身份证号中提取出生年月和年龄等信息? 2007年12月16日 07:41 P.M.一、分析身份证号码 其实,身份证号码与一个人的性别、出生年月、籍贯等信息 是紧密相连的,无论是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位数字。 IF(LEN(C2)=15,MID(C2,7,4),MID(C2,9,4)):IF是一个逻辑判断函数,表示如果C2单元格是15位,则提取第7位开始的

在EXCEL表格中输入身份证号如何自动提取性别和出生年月

在EXCEL表格中输入身份证号如何自动提取性别和出生年月 在EXCEL表格中输入身份证号如何自动提取性别和出生年月 如输入大批量的个人信息。(例:输入姓名、性别、身份证号、出生年月日、地址等等),特别是在输入身份证号之后还要输入一些出年月日、性别、其时这些都已经在身份证号里面体现出来了,所以我想有没有办法提取出来。 经过实践体验,现已经解决了这个问题,这样减少了不少时间,对于一两个人信息的输入这没什么,而对于成百上千的要输入来说,就是关键了。 例如: 序号 姓名 身份证号码 性别 出生年月 说明:公式中的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,C ONCATENATE(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)),"身份证错")) 如何使用Excel从身份证号码中提取出生日期

如何使用Excel从身份证号码中提取出生日期2009-02-27 22:52例如:从身份证420821************中提取出生日期来,如何快速得出?只需使用语句:=DATE(mid(A1,7,4),mid(A1,11,2),mid(A1,13,2)) 【A1是身份证号码所在单元格】 date()函数是日期函数;如输入今天的日期=today() 那么,mid函数是什么东东呢? MID(text,start_num,num_chars) Text 为包含要提取字符的文本字符串;Start_num 为文本 中要提取的第一个字符的位置。文本中第一个字符的start_num 为1 ,以此类推;Num_chars 指定希望MID 从文本中返回字符的个数。 对身份证号码分析下就知道:420821************,出生日期是1992年2月6日;也就是从字符串(420821************)的第7位开始的4位数字表示年,从字符串的第11位开始的2位数字表示月,字符串的第13位开始的2位数字表示日。呵呵,强悍吧! Excel中利用身份证号码(15或18位)提取出生日期和性别 需要的函数: LEN(C6)=15:检查C6单元格中字符串的字符数目,本例的含义是检查身份证号码的长度是否是15位; INT:返回数值向下取整为最接近的整数,本例中用来判断身份证里数值的奇偶数。 RIGHT:返回文本字符串最后一个字符开始指定个数的字符; MID:返回文本字符串指定起始位置起指定长度的字符,MID(C6,7,2)表示:在C3中从左边第七位起提取2位数;"19"&MID(C6,7,2)表示:在C3中从左边第七位起提取2位数的前面添加19; …… &""&表示:其左右两边所提取出来的数字不用任何符号连接; &"-"&表示:其左右两边所提取出来的数字间用“-”符号连接。若需要的日期格式是yyyy年 mm月dd日,则可以把公式中的“-”分别用“年月日”进行替换就行了。

提取身份证信息

【身份证信息?提取】 从身份证号码中提取出生年月日 =TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")+0 =TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")*1 =IF(A2<>"",TEXT((LEN(A2)=15)*19&MID(A2,7,6+(LEN(A2)=18)*2),"#-00-00 ")+0,) 显示格式均为yyyy-m-d。(最简单的公式,把单元格设置为日期格式) =IF(LEN(A2)=15,"19"&MID(A2,7,2)&"-"&MID(A2,9,2)&"-"&MID(A2,11,2),MI D(A2,7,4)&"-"&MID(A2,11,2)&"-"&MID(A2,13,2)) 显示格式为yyyy-mm-dd。(如果要求为“1995/03/29”格式的话,将”-”换成”/”即可) =IF(D4="","",IF(LEN(D4)=15,TEXT(("19"&MID(D4,7,6)),"0000年00月00日"),IF(LEN(D4)=18,TEXT(MID(D4,7,8),"0000年00月00日")))) 显示格式为yyyy年mm月dd日。(如果将公式中“0000年00月00日”改成“0000-00-00”,则显示格式为yyyy-mm-dd) =IF(LEN(A1:A2)=18,MID(A1:A2,7,8),"19"&MID(A1:A2,7,6)) 显示格式为yyyymmdd。 =TEXT((LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")+0 =IF(LEN(A2)=18,MID(A2,7,4)&-MID(A2,11,2),19&MID(A2,7,2)&-MID(A2,9,2)) =MID(A1,7,4)&"年"&MID(A1,11,2)&"月"&MID(A1,13,2)&"日" =IF(A1<>"",TEXT((LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00 ")) 从身份证号码中提取出性别 =IF(MOD(MID(A1,15,3),2),"男","女") (最简单公式)

excel2003从身份证号提取年龄的函

excel2003从身份证号提取年龄的函 excel2003从身份证号提取年龄的函数使用教程: 身份证提取年龄步骤1:制字一个带身份证号的excel,为了简单一些,我假设了一个身份证号:410106************; 身份证提取年龄步骤2:我们用的公式是:=datedif(text(mid(a1,7,8),"#-00-00"),today(),"y"),我们先解释最里面的mid(a1,7,8);mid是一个截取文本部分字符段的函数,使用格式:mid(text,start_num,num_chars);它一般有三个参数,第一个参数表示引用的文本或文本单元格,第二个表示从第几个文本字符开始截取,第三个表示截取几个,像公式中的mid(a1,7,8),表示将a1里的文本字符串从第7个字符开始截取,共取8个字符,而组成的文本字符串,例子中:mid(a1,7,8)就是19740703; 身份证提取年龄步骤3:text是一个返回文本类型的函数,使用格式:text(value,format_text);一般有两个参数组成,前一个引号文本或文本单元格,后一个表示文本类型,公式中mid(a1,7,8)就是第一个参数,#-00-00就是第二个参数。也就是说将mid(a1,7,8)得到的结果19740703,改变成“#-00-00”形式的文本,在这里就是1974-07-03。 身份证提取年龄步骤4:函数today(),指的是取当日日期,如:2014-03-29;

身份证提取年龄步骤5:datedif函数用于计算两个日期之间的年数、月数和天数。其语法:datedif(date1,date2,code);其中date1:表示开始日期,date2:表示结束日期;code:表示返回两个日期的参数代码,若为y,便是计算两个日期的年数,若为m 便是计算两个日期的月,若为d便是计算两个日期的天。 看了excel2003从身份证号提取年龄的函数使用教程

excel中用身份证号码生成性别、出生日期、计算年龄

excel中用身份证号码生成性别、出生日期、计算年龄 从身份证号码中自动生成性别和生日 生成性别:(其中B2是身份证号码所在列) 一性别双击性别所在列的第二行,然后输入下面公式,然后按ENTER键;再利用下拉方式将公式复制到该列的其他行中即可 1=CHOOSE(MOD(IF(LEN(B2)=18,MID(B2,17,1),IF(LEN(B2)=15,RIGHT(B2,1),"")),2)+1,"女","男") 2=IF(MOD(IF(LEN(B2)=15,MID(B2,15,1),MID(B2,17,1)),2)=1,"男","女") 3=IF(LEN(B2)=15,IF(MOD(MID(B2,15,1),2)=1,"男","女"),IF(MOD(MID(B2,17,1),2)=1,"男","女")) 二出生日期提取出生日期:(其中B2是身份证号码所在列) 双击出生日期所在列的第二行,然后输入下面公式,然后按ENTER键;再利用下拉方式将公式复制到该列的其他行中即可 =DA TE(MID(B2,7,4),MID(B2,11,2),MID(B2,13,2)) 三计算年龄:(其中C3是出生日期所在列) 双击年龄所在列的第二行,然后输入下面公式,然后按ENTER键;再利用下拉方式将公式复制到该列的其他行中即可 =YEAR(NOW())-YEAR(C3) Excel自动从身份证中提取生日性别 出处:天空软件作者:佚名日期:2009-09-16 每年新入学的一年级学生,都需要向上级教育部门上报一份包含身份证号、出生年月等内容的电子表格,以备建立全省统一的电子学籍档案。数百个新生,就得输入数百行相应数据,这可不是个轻松活儿。有没有什么办法能减轻一下输入工作量、提高一下效率呢?其实,我们只需在Excel2003中将学生的身份证号完整地输入后,它就可以帮我们自动填好出生日期和性别。 现在学生的身份证号已经全部都是18位的新一代身份证了,里面的数字都是有规律的。前6位数字是户籍所在地的代码,7-14位就是出生日期。第17位“2”代表的是性别,偶数为女性,奇数为男性。我们要做的就是把其中的部分数字想法“提取出来”。 STEp1,转换身份证号码格式 我们先将学生的身份证号完整地输入到Excel2003表格中,这时默认为“数字”格式(单元格内显示的是科学记数法的格式),需要更改一下数字格式。选中该列中的所有身份证号后,右击鼠标,选择“设置单元格格式”。在弹出对话框中“数字”标签内的“分类”设为“文本”,然后点击确定。 STEP2,“提取出”出生日期 将光标指针放到“出生日期”列的单元格内,这里以C2单元格为例。然后输入

Excel中根据身份证号码自动提取信息

Excel中根据身份证号码自动提取信息 在excel表格中,根据身份证号码就可以自动提取出生年月、性别、年龄。 第一,身份证号码的组成 当今的身份证号码由18位数字组成:前6位为地址码,第7至14位为出生日期码,第15至17位为顺序码,第18位为校验码。 15~17位为顺序号,其中第17位如果是单数为男性分配码,双数为女性分配码。即通过第17位数字,可以判断性别,奇数为男,偶数为女。 下面以实例的方式讲解如何根据身份证号码自动提取出生年月、性别、年龄。首先,在excel中输入以下表格,实例如下面所示。 A B C D E 姓名身份证号码出生日期性别年龄张三 510321************ 1972年05月03日女37 第二,根据身份证号码自动提取出生年月 在目标单元格输入公式:=MID(B2,7,4)&"年"&MID(B2,11,2)&"月 "&MID(B2,13,2)&"日",回车确定,单元格内会出现与身份证号码相关的出生日期。其它单元格的填充,不必一一输入公式,只需选中该单元格复制,在其它单元格内粘贴即可。 提示:MID函数是提供的一个“从字符串中提取部分字符”的函数命令。 第三,根据身份证号码自动提取性别的方法 在目标单元格输入公式:=IF(MOD(RIGHT(LEFT(B2,17)),2),"男","女") 提示:IF函数:根据逻辑表达式测试的结果,返回相应的值。IF函数允许嵌套。 RIGHT函数:根据所指定的字符数返回文本串中最后一个或多个字符。 第四,根据身份证号码自动提取年龄的方法 在目标单元格输入公式: =DATEDIF(TEXT(MID(B2,7,6+2*(LEN(B2)=18)),"#-00-00"),NOW(),"y"),回车确定。

身份证号码中提取年月日

几种从身份证号码中提取年月日 A1:身份证号 =text((len(A1)=15)*19&mid(A1,7,6+(len(A1)=18)*2),"0-00-00") 例如身份证号码在E7单元格中,那么有如下公式: =IF(E7=0,"",IF(LEN(E7)=15,CONCATENATE("19",MID(E7,7,2),"年",MID(E7,9,2),"月",MID(E7,11,2),"日"),CONCATENATE(MID(E7,7,4),"年",MID(E7,11,2),"月",MID(E7,13,2),"日",))) 即E7为0那么为空,否则按位数提取年月日信息,这里考虑了15位与18位身份证号码. 若身份证号在A1,考虑到身份证有新老之分(15位和18位)所以B1写公式: =TEXT((LEN(A1)=15)*19&MID(A1,7,LEN(A1)/2-1),"0-00-00") 或者: =TEXT(TEXT(MID(A1,7,LEN(A1)/2-1),"0-00-00"),"yyyy-mm-dd") 公式可以下拖复制的哟! 利用函数,具体如下: 假如在A列中全部都是身份证号,在B列的第一个输入=MID(A1,7,8) ,回车,这个函数的意思是在A1中提取从第7位开始,向后提取8位,用填充柄,这样身份证号的出生年月日就提取出来了,你复制,粘贴的时候选选择性粘贴,选择数值。再在提取出来的后面一列输入=TEXT(C1,"0-00-00") 这样就得到了你要的结果。如果还不知道,你给个邮箱给我,截图给你看看 =IF(LEN(C2)=15,CONCATENATE("19",MID(C2,7,2),"年",MID(C2,9,2),"月",MID(C2,11,2),"日"),concatenate(mid(c2,7,4),"年",mid(c2,11,2),"月",mid(c2,13,2),"日")) 这个公式不管您身份证号码是15位还是18位,均可提取出生年月日。希望能帮助您。=--TEXT(MID(C1,7,6+(LEN(C1)=18)*2),"00000") 支持15位或者18位身份证。下拉公式即可 如C1单元格内容是110221************, 那么在同行任意单元格输入=MID(C1,7,8)按回车就能提取你需要的了 C1 代表将要提取内容的单元格,7 代表从第7个数字开始提取,8 代表提取8个数字懂了吗,注意是相对引用,向下其他行复制函数,就可以了 =IF(LEN(C1)=15,MID(C1,7,6),IF(LEN(C1)=18),MID(C1,7,8),"身份证号码错误")) 输入完后,下拉复制,就可以了,自动辨别15位和18位身份证 =MIDB(C1,7,8) 这是最简单的提取方法,你可以试试~

从身份证号中提取年龄

从身份证中提取出生年月日、性别、年龄 1、年龄: =DATEDIF(DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2)),NOW(), "y") 2、性别: =IF(MOD(VALUE(MID(A1,17,1)),2)=1,"男","女") 3、年月日: =MID(A1,7,4)&"-"&MID(A1,11,2)&"-"&MID(A1,13,2) 这三个公式是18位身份证的 年龄:就是从身份证号中提取出出生年份,用当前的年份去减 性别:判断倒数第2位是奇数还是偶数 年月日:从身份证中提取出相应的年月日 如果重写这些公式 1.年龄: =IF(LEN(A1)=18,DATEDIF(DATE(MID(A1,7,4),MID(A1,11,2),MID(A1 ,13,2)),NOW(),"y"),DATEDIF(DATE("19"&MID(A1,7,2),MID(A1,9,2 ),MID(A1,11,2)),NOW(),"y")) 2.性别: =IF(LEN(A1)=18,IF(MOD(VALUE(MID(A1,17,1)),2)=1,"男","女"),IF(MOD(VALUE(MID(A1,15,1)),2)=1,"男","女")) 3.年月日: =IF(LEN(A1)=18,DATE(MID(A1,7,4)&"-"&MID(A1,11,2)&"-"&MID(A1 ,13,2)),DATE("19"&MID(A1,7,2)&"-"&MID(A1,9,2)&"-"&MID(A1,11 ,2))) ☆从出生年月日中提取年龄☆ ①、=INT((DATE(2010,9,30)-B1)/365) ②、=IF(AND(B1<>""),2010-YEAR(B1)) “B1”指出生年月日栏

EXCEL中如何提取身份证出生日期

EXCEL中如何提取身份证出生日期、性别、检验身份证号 码的正确性 中国居民身份证号码是一组特征组合码,原为15位,现升级为18位,其编码规则为:15位:6位数字常住户口所在县市的行政区划代码,6位数字出生日期代码,3位数字顺序码。 18位:6位数字常住户口所在县市的行政区划代码,8位数字出生日期代码,3位数字顺序码和1位检验码。其中3位数字顺序码,是为同一地址码的同年同月同日出生人员编制的顺序号,偶数的为女性,奇数的为男性。 1、提取籍贯地区的行政区划代码(A2为身份证号,下同)15与18位通用:=LEFT(A2,6) 如果有一个编码和省份地区的对照表,可以用VLOOKUP函数来提取地区信息。2、提取出生日期信息 15位:=--TEXT(19&MID(A2,7,6),"#-00-00") 18位:=--TEXT(MID(A2,7,8),"#-00-00") 15与18位通用:=--TEXT(IF(LEN(A2)=15,19,"")&MID(A2,7,6+IF(LEN(A2)=18,2,0)) ,"#-00-00") 简化公式:=--TEXT((LEN(A2)=15)*19&MID(A2,7,6+(LEN(A2)=18)*2),"#-00-00 ") (请将输入公式的单元格格式设置为日期格式)3、提取性别信息 15位:=IF(MOD(RIGHT(A2),2)=1,"男","女") 18位:

=IF(MOD(MID(A2),17,1)=1,"男","女") 15与18位通用:=IF(MOD(MID(A2,IF(LEN(A2)=15,15,17),1),2)=1,"男","女") 简化公式:=IF(MOD(RIGHT(LEFT(A2,17)),2),"男","女") 4、检验身份证号码的正确性 18位身份证号码的最后一位是检验码,它是根据身份证前17位数字依照规则计算出来的,其值0~9或X。一般情况只要有一位数字输入错误,依照规则计算后就会与第18位数不符。当然不排除按错误号码计算后恰好与检验码相符的情况,但这种情况出现的可能性较低。因此,对18位号码的验证采用如下公式: =MID("10X98765432",MOD(SUMPRODUCT(MID(A2,ROW(INDIRECT("1:17 ")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1)=RIGHT(A2,1) 对于15位身份证,由于没有检验码,我们只能简单地去判断出生日期代码是否是一个有效的日期,避免输入一些像“731302”或“980230“等这样不存在的日期。=ISNUMBER(--TEXT(19&MID(A2,7,6),"#-00-00")) 综合15位和18位后的通用公式为: =IF(LEN(A2)=18,MID("10X98765432",MOD(SUMPRODUCT(MID(A2,ROW( INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1) =RIGHT(A2),IF(LEN(A2)=15,ISNUMBER(--TEXT(19&MID(A2,7,6),"#-00-00")))) 由于目前15位身份证号码已经很少了,如果对15位的号码不

相关主题
文本预览
相关文档 最新文档