销售必须知道的80个Excel函数
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

案例31 根据身份证号码计算职工出生日期(TEXT)

⊙ 源文件:CDROM\04\4.12\案例31.xls

根据身份证号码提取职工出生日期,且显示长日期格式。

打开光盘中的数据文件,在单元格C2中输入以下公式:

=IF(LEN(B2)=15,19,"")&TEXT(MID(B2,7,8-(LEN(B2)=15)*2),"#年00月00日")

按下【Enter】键后,公式将返回第一个职工的出生日期,双击单元格填充柄将公式向下填充数,结果如图4-24所示。

图4-24 计算出生年月日

公式说明

身份证号码有15位和18位两种。15位身份证号码从第7位数开始,共有6位表示出生日期,而18位份证号码则是第7位数开始,共有8位数表示出生日期。另外,15位的身份证一定是2000年以前办理的,所以可以在前面添加“19”确保格式统一。

鉴于以上特点,本例使用MID函数从身份证号码的第7位开始提取8位数字,如果是长度为15则减去2位。再通过TEXT函数将提取出来的字符串格式化为日期格式。最后,为了让格式统一,对从15位的身份证号码中提取的年份前添加“19”字符。

案例提示

1.TEXT函数中“0”和“?”都是占位符,本例中“00月00日”中的“0”表示月份和日期都需要显示两位数。本例也可以改用“?”,公式如下:

=IF(LEN(B2)=15,19,"")&TEXT(MID(B2,7,8-(LEN(B2)=15)*2),"# 年 ??月??日")

2.TEXT函数第二参数中的“#”也是占位符,但却是不定长度的占位符。例如本例中,如果取出来的表示出生日期的字符是6位,那么用于表示年份的长度是2位,因为月份的日期已经各占用两位;如果总长度有8位,则用于表示年份的长度有4位。

3.本例也可以改用其他格式显示,例如:

=IF(LEN(B2)=15,19,"")&TEXT(MID(B2,7,8-(LEN(B2)=15)*2),"#-??-? ?")