Office中国论坛/Access中国论坛

标题: 永中版的身份证信息查询表 [打印本页]

作者: Declon    时间: 2008-11-27 09:13
标题: 永中版的身份证信息查询表
用永中Office2009电子表格制作了身份证信息查询表,供永中网友使用及参考。本例全部使用函数。例中参考了网友EXCEL文档,本人对函数进行了精简,并对使用的函数进行了解释。由于水平有限,错误难免,错漏之处敬请网友斧正。


函数解释

1、B2单元格函数式:
=IF(ISERROR(CONCATENATE(VLOOKUP(LEFT(A2,2),$H$2I$6467,2,FALSE),VLOOKUP(LEFT(A2,6),$H$2I$6467,2,FALSE))),"",CONCATENATE(VLOOKUP(LEFT(A2,2),$H$2I$6467,2,FALSE),VLOOKUP(LEFT(A2,6),$H$2:$I$6467,2,FALSE)))


看起来比较复杂,像天书,但实际上是由几个函数组成的。式中有部分完全相同的函数式,第一部分用于判断单元格取值结果是否正确,如果错误,返回空值;如果正确,返回第二部分的值。
我们把函数拆开来分析:

    * LEFT(A2,2)将A2单元格的值从左边起,取2个字符,返回的结果是36。其余类推。
    * VLOOKUP(LEFT(A2,2),$H$2:$I$6467,2,FALSE)即是根据LEFT(A2,2)的值36,在H2至I6467的范围内的H列查找,找到了以后返回指定范围内的第2列(即I列)对应单元格的值。(这里用加了$符号的绝对引用,是为了函数式下拉时,引用范围不会跟着改变。)H2:I6467是预先录好的地址及对应的代码,表中把它隐藏了,如果有某个代码不对,可以取消隐藏,然后修改。
    * CONCATENATE()函数就是把几个查找到的文本连接起来,即成了“某省某市某区”,作用跟连接符&相同。
    * ISERROR()函数是判断函数是否返回错误值。
      IF()函数用于判断ISERROR()返回的值是否为真,“真”返回空值,“假”返回“某省某市某区”。



2、C2单元格函数式:
=IF(LEN(A2)=18,CONCATENATE(MID(A2,7,4),"年",MID(A2,11,2)," 月",MID(A2,13,2),"日"),IF(LEN(A2)=15,CONCATENATE("19",MID(A2,7,2)," 年",MID(A2,9,2),"月",MID(A2,11,2),"日"),""))
LEN(A2)返回A2单元格的字符个数。

    * MID(A2,7,4)从A2单元格文本中的第7位开始,取出4个字符(例中返回1985)。其余类推。
      CONCATENATE()文本连接函数,同上。
      这里用了两个IF()函数嵌套,判断A2的文本是18个字符或15个字符,根据不同的返回值,从不同位置提取字符。


3、D2单元格函数式:
=IF(C2="","",YEAR(TODAY())-YEAR(C2))

    * YEAR()取日期年份。
    * TODAY()取系统当前日期。

4、E2单元格函数式:
=IF(C2="","",TODAY()-C2)(同上),返回的值用日期序列数显示,即天数。

5、F2单元格函数式:
=IF(A2="","",IF(AND(LEN(A2)<>18,LEN(A2)<>15),"身份证位数错",IF(LEN(A2)=18,IF(MOD(MID(A2,17,1),2)=0,"女"," 男"),IF(MOD(RIGHT(A2,1),2)=0,"女","男"))))
根据身份证信息判断男女,18位身份证用倒数第2位判断,15位身份证用最后一位判断,奇数为男,偶数为女。

MOD(数字,2)把取得的数字被2除,取余数,余数是0是偶数,余数是1是奇数。
更详细的内容请登陆:
http://forum.evermoresw.com/thread-13935-1-1.html
作者: 黑白手机    时间: 2008-11-27 13:59
学习了,貌似有点复杂[:42]
作者: oc123    时间: 2008-11-27 15:33
函数啊,好高深,要学习[:45]
作者: lyc0817    时间: 2009-3-12 22:54
gfghdfhb 三联单二
作者: wangxingang    时间: 2009-9-22 17:13
试一下
作者: tz2806    时间: 2009-10-14 15:28
标题: 服装批发商教你如何进到更便宜的货
服装批发商教你如何进到更便宜的货

http://www.360huoyuan.com/article-27.html




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3