Excel精英培训网

 找回密码
 注册
查看: 1573|回复: 0

函数得到身份证出生年月、性别信息

[复制链接]
发表于 2011-12-5 14:43 | 显示全部楼层 |阅读模式
函数得到身份证出生年月、性别信息
大家知道,目前的身份证号码有两种格式,一种是15位号码(如340501761217022),一种是18位号码(如340503197001090319)。在15位号码中,第7—12位数字(如761217)表示持证人的出生时间(如1976年12月17日),第15位数字(如2)表示持证人的性别(奇数为“男”,偶数为“女”);在18位号码中,第7—14位数字(如19700109)表示持证人的出生时间(如1970年1月9日),第17位数字(如1)表示持证人的性别。 

  一、信息的提取、判断和自动显示  

  此处,假定身份证号码保存在C列中,性别和出生时间分别保存在D列和E列中。  

  1、性别的自动显示  

  ①选中D2单元格,输入公式:=IF(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2)=0,"女","男"),输入完成后,按下“Enter”键进行确认,第1位员工的性别则自动显示在D2单元格中

   上述函数式中涉及到的几个函数的含义分别是:

  LEN(C2)函数,用于统计C2单元格中字符串的字符数目。

  MID(C2,15,1)函数,用于从C2单元格中字符串的第15位开始提取1个字符。

  MOD(number,divisor)函数,用于给出数字number除以数字divisor后的余数。

  IF()函数,是一个逻辑判断函数。  

  上述函数式的意思是:  

  IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)):如果[IF]C2单元格中字符串的字符数是15[LEN(C2)=15],则从第15位开始,提取C2单元格字符串中的1个字符[MID(C2,15,1)];如果不是15位,则从第17位开始,提取1个字符[MID(C2,17,1)]。

    =IF(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2)=0,"女","男"):如果[IF]提取出来的数值[IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1))]除以“2”后余数为“0”[MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2)=0],则显示为“女”,反之显示为“男”。  

  ②再次选中D2单元格,将鼠标移至该单元格右下角成十字线状时[如图2,我们通常称这种状态为“填充柄”状态]。

  按住左键向下拖拉,将D2单元格中的公式复制到下面的单元格中,显示出其他持证人的性别。 

  2、出生时间的自动显示  

  ①选中E2单元格,输入公式:=IF(LEN(C2)=15,MID(C2,7,2)+1900,MID(C2,7,4))&"-"&IF(LEN(C2)=15,MID(C2,9,2),MID(C2,11,2))&"-"&IF(LEN(C2)=15,MID(C2,11,2),MID(C2,13,2)),输入完成后,按下“Enter”键进行确认,第1位员工的出生时间则自动显示在D2单元格中[参见图1]。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2025-8-16 03:07 , Processed in 0.119031 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表