互联网

当前位置 /首页/游戏数码/互联网/列表

Excel公式由身份证号码计算性别年龄出生日期

居民身份证,是用于证明持有人身份的一种法定证件,多由各国或地区政府发行予公民。并作为每个人重要的身份证明文件。在它的编码中会透露出两个重要的信息,一个是身份证的7--14位,如19741015,表示是1974年10月15日出生;第二个是性别,第17位是1,奇数,表示男性;第17位是2,偶数,表示女性

一、对于性别的计算

(01)首先介绍Microsoft Excel中的一个字符串函数mid函数的用法,它是专门截取字母串中的部分字符的函数。函数语法格式=mid(text,start_num,num_chars)mid(字符串,开始截取位置,截取字符个数)那么从身份证号(A2)的第17位开始截取1个字符,及身份证的第17位,如下图所示在B2的位置输入“=mid(A2,17,1)”,剩下的下拉句柄即可。如第一个身份证截取的17号位置为1。

Excel公式由身份证号码计算性别年龄出生日期

(02)第二个函数是求余函数——mod函数,判断17号位的数字是奇数还是偶数的,按规则:奇数表示男性,偶数表示女性。函数语法格式=mod(number,divisor)mid(字符串,开始截取位置,截取字符个数)身份证第17位除以2的余数,即=mod(mid(A2,17,1),2)

Excel公式由身份证号码计算性别年龄出生日期 第2张

(03)第三步就是利用if函数判断给定的对错了,满足返回前一个,不满足返回后一个即=IF(MOD(MID(A2,17,1),2)=1,"男","女"),这个也就是最终的答案使用时用这个即可。函数字母的大小写都可以。

Excel公式由身份证号码计算性别年龄出生日期 第3张
Excel公式由身份证号码计算性别年龄出生日期 第4张

二、计算出生年月日

(01)出生年月日其实比较直观,数字的提取采用上面的mid函数。从身份证第7位提取4个字符作为年份,在第11位提取2字符作为月份,在第13位提取2字符作为日期。然后使用Date函数,将提取的数字变为日期格式进行显示。DATE函数的基本构型是DATE(year,month,day)

(02)在出生日期(E2单元格)输入下列公式,然后下拉句柄即可。=DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2))

Excel公式由身份证号码计算性别年龄出生日期 第5张

(03)DATE其实只是在年月日间插入了""字符,而如果需要更多样式,则可以自行设计。这里介绍一个“&”符号的作用(称作AND) ,起着字符串的连接作用。例如,="搜狗" & "百科",结果是"搜狗百科"。这里也给大家准备了多种示例,供大家参考,见下图。例如,=MID(A58,7,4)&"年"&MID(A58,11,2)&"月"&MID(A58,13,2)&"日"的结果是1976年05月12日,它就是利用&"年"&,成功地将所需字符插入到年月日中间。

Excel公式由身份证号码计算性别年龄出生日期 第6张

(04)还可以使用一个文本函数——TEXT函数来完成这项工作,Excel中的TEXT函数是将一数值转换为按指定格式表示的文本的函数,也就是把数字转换成文本格式。其语法格式为:TEXT(value,format_text),Value可以是数值、计算结果为数值的公式,或对数值单元格的引用。而Format_text是所要选用的文本格式。而输出成日期格式的Format_text,"0-00-00",这个format是从后往前计算的,最后的两个字符占据最后的00,然后中间的两个字符占据中间的两个00,剩下的字符占据第一个0,这里的第一个0可以写成0000、000、00、0,但不能多,否则日期前会加一个0。

Excel公式由身份证号码计算性别年龄出生日期 第7张

(05)具体的函数格式如下,含义为从第七号位截取8个字符,按照"0-00-00"格式排列:=TEXT(MID(A67,7,8),"0-00-00")如果你问我怎么知道这个格式的,右键单元格,悬着“单元格格式”对话框中选择“数字”选项卡,在“分类”列表框中选择“特殊”,然后在右侧的“类型”框中选择“中文小写数字”最后再返回到左侧“分类”列表框中单击“自定义”, 就能看到format_text的具体格式样式了。

Excel公式由身份证号码计算性别年龄出生日期 第8张

三、计算年龄

(01)利用DATEDIF函数计算两日期之差。函数语法为:DATEDIF(start_date,end_date,unit)分为三种,计算年龄选用第一种。=DATEDIF(A1,TODAY(),"Y")计算年数差=DATEDIF(A1,TODAY(),"M")计算月数差=DATEDIF(A1,TODAY(),"D")计算天数差

(02)我们已经知道出生年月的DATE了=DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2))再将它与today比较一下年数差即可,输入下列公式,然后下拉句柄。=DATEDIF(DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2)),TODAY(),"y")也可以使用TEXT函数。=DATEDIF(TEXT(MID(A73,7,8),"0-00-00"),TODAY(),"y")

Excel公式由身份证号码计算性别年龄出生日期 第9张