本例涉及到的Excel函数如下:
1、DATE(year,month,day)
2、IF(Logical,Value_if_true,Value_if_false)
3、LEN(text)
4、MID(text,start_num,num_chars)
5、MOD(number,divisor)
在这里,我们假定身份证号码保存在C列(从C2单元格开始)中,性别和出生年、月、日分别保存在D列和E列中。
一、性别的判断
选中D2单元格,输入公式:
=IF(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2)=0,"女","男")
或
=IF(MOD(IF(LEN(C7)=15,MID(C7,15,1),MID(C7,17,1)),2)=1,"男","女"),
输入完成后,按下“Enter”键进行确认,第1位持证人的性别则自动显示在D2单元格中(如图1)。
上述第一个公式的含义分三层来理解:
①如果身份证号码是15位(LEN(C2)=15),则取其15位数字(MID(C2,15,1)),否则取其17位数字(MID(C2,17,1))。
②然后求取出来的数值除2后的余数(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2))。
③如果(IF)余数为“0”(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2)=0),则显示“女”,否则显示“男”。
再次选中D2单元格,用“填充柄”将上述公式复制到D列下面的单元格中,即可显示出其他持证人的性别。
注意:如果将上述公式修改为:=IF(IF(LEN(C2)=15,MID(C2,15,1),IF(LEN(C2)=18,MID(C2,17,1),""))="","号码有错",IF(MOD(IF(LEN(C2)=15,MID(C2,15,1),IF(LEN(C2)=18,MID(C2,17,1),"")),2)=1,"男","女")),当输入的号码不是15位或18位,系统提示“号码有错”(参见图1),则效果更佳。
注意:修改后的公式与上面的公式含义相似。
|
Word教程网 | Excel教程网 | Dreamweaver教程网 | Fireworks教程网 | PPT教程网 | FLASH教程网 | PS教程网 |
HTML教程网 | DIV CSS教程网 | FLASH AS教程网 | ACCESS教程网 | SQL SERVER教程网 | C语言教程网 | JAVASCRIPT教程网 |
ASP教程网 | ASP.NET教程网 | CorelDraw教程网 |