以下是引用djh0512在2008-6-28 14:59:42的发言: P235页示例12-7中的公式里,为什么要*2,又为何还要用6去加后面的数? 姓名 | 身份证号码 | 性别 | 出生日期 | 年龄 | 张三 | 110221650815224 | 女 | 19650815 | 43 | 李四 | 510221197412010219 | 男 | 19741201 | 34 |
=IF(LEN(B2)=15,19,"")&MID(B2,7,6+(LEN(B2)=18)*2) 对于张三,身份证号码为15位,IF(LEN(B2)=15,19,"")为真,计算结果为19,判断(LEN(B2)=18)为假,则计算值为0,(LEN(B2)=18)*2=0*2=0,MID(B2,7,6+(LEN(B2)=18)*2)=MID(B2,7,6+0)=650815,则=IF(LEN(B2)=15,19,"")&MID(B2,7,6+(LEN(B2)=18)*2)计算结果合起来为19650815(日期格式) 对于李四,身份证号码为18位,IF(LEN(B3)=15,19,"")为假,计算结果为"",判断(LEN(B3)=18)为真,则计算值为1,(LEN(B3)=18)*2=1*2=2,MID(B3,7,6+(LEN(B3)=18)*2)=MID(B3,7,6+2)=19741201,则=IF(LEN(B3)=15,19,"")&MID(B3,7,6+(LEN(B3)=18)*2)计算结果合起来仍为19741201(日期格式) 这也正是公式巧妙之处,要我写就是简单也好理解的嵌套IF()了, 佩服一下
[此贴子已经被作者于2008-6-28 23:57:46编辑过] |