如何通过身份证号取出生日?

来源:百度文库 编辑:神马文学网 时间:2024/04/28 10:33:22
 如何在Excel2007中通过身份证号分别取出生日?

  【解答】

   如: 在工作表的A1单元格中输入身份证号码:360102198506161234,并要求分别求出出生年、出生月和出生日。

  写一个通用公式,往右填充,公式:

  =TEXT(RIGHT(TEXT(MID($A1,7,11)-500,"1900-00-00,"),10),MID("eemmdd",2*COLUMN(A1)-1,2))

  如果月日不足两位,只显示一位数时,公式改为:

  =TEXT(RIGHT(TEXT(MID($A1,7,11)-500,"1900-00-00,"),10),MID("emd",COLUMN(A1),1))

  如下图所示:

   在Excel中自动推测出生年月日及性别的技巧

大家都知道,身份证号码已经包含了每个人的出生年月日及性别等方面的信息(对于老式的15位身份证而言,7-12位即个人的出生年月日,而最后一位奇数或偶数则分别表示男性或女性。如某人的身份证号码为420400700101001,它的7-12位为700101,这就表示该人是1970年元月1日出生的,身份证的最后一位为奇数1,这就表示该人为男性;对于新式的18位身份证而言,7-14位代表个人的出身年月日,而倒数第二位的奇数或偶数则分别表示男性或女性)。根据身份证号码的这些排列规律,结合Excel的有关函数,我们就能实现利用身份证号码自动输入出生年月日及性别等信息的目的,减轻日常输入的工作量。

Excel中提供了一个名为MID的函数,其作用就是返回文本串中从指定位置开始特定数目的字符,该数目由用户指定(另有一个名为MIDB的函数,其作用与MID完全一样,不过MID仅适用于单字节文字,而MIDB函数则可用于汉字等双字节字符),利用该功能我们就能从身份证号码中分别取出个人的出生年份、月份及日期,然后再加以适当的合并处理即可得出个人的出生年月日信息。

提示:MID函数的格式为MID(text,start_num,num_chars)或MIDB(text,start_num,num_bytes),其中Text是包含要提取字符的文本串;Start_num是文本中要提取的第一个字符的位置(文本中第一个字符的start_num为1,第二个为2……以此类推);至于Num_chars则是指定希望MID从文本中返回字符的个数。

假定某单位人员管理希望通过身份证号码自动得出员工的出生年月日及性别,现以此为例,将有关步骤向广大用户作一简要介绍:

1. 选中整个B列,然后执行“格式”菜单中的“单元格”命令,打开“单元格格式”窗口。

2. 选择“数字”选项卡。

3. 在“分类”栏中选择“文本”选项,然后单击“确定”按钮,关闭“单元格格式”窗口,将所有包含有身份证号码的单元格设置为文本格式。

4.将光标移至C3单元格中,然后输入“="19"&MID(B3,7,2)&"年"&MID(B3,9,2)&"月"&MID(B3,11,2)&"日"”内容。其中MID(B3,7,2)就是从身份证号码的第7位开始取2位数,得出该员工的出生年份,MID(B3,9,2)就是得出该员工的出生月份,而MID(B3,11,2)则是该员工的出生日期,这些信息再加上年、月、日等文字就会组成该员工的准确出生年月日“1970年1月1日”。

5. 接下来我们应将光标移至D3单元格中,然后输入“=IF(MID(B3,15,1)/2=TRUNC(MID(B3,15,1)/2),"女","男")”。这就表示取身份证号码的第15位数,若能被2整除,这表明该员工为女性,否则为男性。

6. 最后我们只需利用自动填充功能对其他各个员工的出生年月日、性别进行填充即可。

上面都是以15位身份证为例进行介绍的,18位身份证的操作方法与此类似,广大用户若使用的是18位身份证,只需对有关函数的取值位置进行适当调整即可(如将“="19"&MID(B3,7,2)&"年"&MID(B3,9,2)&"月"&MID(B3,11,2)&"日"”修改为“=MID(B3,7,4)&"年"&MID(B3,11,2)&"月"&MID(B3,13,2)&"日"”)。

这样就实现了由Excel自动填充员工出生年月日、性别的功能,从而极大地减轻了用户录入数据时的工作量,有兴趣的读者不妨一试。