要进行设置的表格类似下图所示:
要得到的效果是,当输入完身份证号码的时候,性别和出生日期字段,就会根据刚才输入的身份证号码而自动进行填充,在这之前,我们要把身份证的单元格格式数字设定为文本。具体步骤,右键单击要输入的身份证单元格,选择设置单元格格式,在弹出来的对话框中,选择数字选项栏,选择文本。如下图所示:
第一步,设置单行通过身份证自动获得出生日期和性别
一、设置通过身份证自动获得性别
1)点击性别下面的单元格,然后在上面的输入框中输入以下函数
=IF(ISBLANK(Xx)," ",IF(Xx <>"",IF(MOD(RIGHT(LEFT(Xx,17)),2),"男","女"),))
保存之后,点击性别下面的单元格会如下图所示:
注意:上面函数中的Xx用来定位身份证号码输入的单元格,在上图中就是A3,也就是被选中的性别左边的那个单元格,意思就是,当A3这个单元格被选中并被填充之后,性别会自动的根据A3单元格的信息进行填充,在实际的EXCEL设计中,可以根据实际情况确定Xx的值。
经过上面步骤的设置之后,我们输入一个身份证号码之后,性别单元格中就会自动被填充了,如下图所示:
2)为了以后方便录入,我们可以将性别变成下拉选单选择的,效果如下图所示:
为了实现上面的效果,我们点击选中要输入性别的单元格,点击EXCEL工具界面的“数据”选单,在下拉选单中选择“有效性”,在弹出的“数据有效性”对话框中,选择允许“序列”,在来源中填入“男,女”(注意填入“男女”的中间的逗号为英文字符)如下图所示:
二、设置通过身份证自动获得出生日期
1)为了防止出现错误,我们最好是先将出生年月的格式进行限定,步骤如下:
右键单击选中要获得出生日期的单元格,选择“设置单元格格式”在“数字”选项栏中选择分类为“日期”类型为“*2001-3-14”点击确定。如下图所示:
2)为出生日期单元格添加函数,选中要自动生成日期的单元格,在上面的fx中,将下面的函数
=IF(ISBLANK(Xx)," ",IF(LEN(Xx)=18,MID(Xx,7,4)&"-"&MID(Xx,11,2)&"-"&MID(Xx,13,2),"19"&MID(Xx,7,2)&"-"&MID(Xx,9,2)&"-"&MID(Xx,11,2)))
复制到里面去,如下图所示:
注意将上面的Xx改为将要被输入身份证号码的单元格所在位置,如上图,Xx就为“A3”。
上面的操作完成之后,我们在A3格输入身份证号码并且焦点离开该单元格之后,性别和出生年月就会根据身份证号码自动的取出来了。
第二步,将设置好的行扩展到其他行
如上图所示,第三行的身份证号码被填充之后,性别和出生日期就会自动被得到了,但是其他各行并没有这种功能,我们就需要把将设置好的行扩展到其他行,具体步骤图解如下:
1)选中第三行的性别单元格,将鼠标定位到该单元格的右下角,鼠标的形状会变成一个“+”号,如下图所示:
按住鼠标左键,下拉选中其他的性别单元格,会出现如下图所示效果:
点击出现的小加号,在弹出的对话框中,选择“复制单元格”选项,这样,你所选中的单元格就都具备根据身份证取得性别的功能了。
怎么样?简单吧,将出生日期自动获得的功能复制到其他的单元格和上面性别就是一样的了。也就是先选择出生日期单元格,将鼠标移动到右下角,出现一个小加号之后,点住下拉选择其他要复制的单元格,在弹出的菜单中选择“复制单元格”就可以了。
完成之后,如果身份证号码变成了科学计数法的形式,也将身份证格式复制到其他单元格就可以了,可以设置身份证列单元格的格式,应该是非常简单的哦,步骤跟上面的是一样的。
以上的函数对15位身份证和18位身份证取得身份证日期都是有效的。