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。
- 02
第二个函数是求余函数——mod函数,判断17号位的数字是奇数还是偶数的,按规则:奇数表示男性,偶数表示女性。 函数语法格式=mod(number,divisor) mid(字符串,开始截取位置,截取字符个数) 身份证第17位除以2的余数,即=mod(mid(A2,17,1),2)
- 03
第三步就是利用if函数判断给定的对错了,满足返回前一个,不满足返回后一个 即=IF(MOD(MID(A2,17,1),2)=1,"男","女"),这个也就是最终的答案使用时用这个即可。函数字母的大小写都可以。
二、计算出生年月日
- 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))
- 03
DATE其实只是在年月日间插入了"\"字符,而如果需要更多样式,则可以自行设计。这里介绍一个“&”符号的作用(称作AND) ,起着字符串的连接作用。 例如,="搜狗" & "百科",结果是"搜狗百科"。 这里也给大家准备了多种示例,供大家参考,见下图。 例如,=MID(A58,7,4)&"年"&MID(A58,11,2)&"月"&MID(A58,13,2)&"日" 的结果是1976年05月12日,它就是利用&"年"&,成功地将所需字符插入到年月日中间。
- 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。
- 05
具体的函数格式如下,含义为从第七号位截取8个字符,按照"0-00-00"格式排列:=TEXT(MID(A67,7,8),"0-00-00") 如果你问我怎么知道这个格式的,右键单元格,悬着“单元格格式”对话框中选择“数字”选项卡,在“分类”列表框中选择“特殊”,然后在右侧的“类型”框中选择“中文小写数字”最后再返回到左侧“分类”列表框中单击“自定义”, 就能看到format_text的具体格式样式了。
三、计算年龄
- 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")