- ·上一篇:wps表格如何解冻窗口
- ·下一篇:WPS单元格文字如何设置
WPS表格提取身份证信息的方法详解
身份证相关信息包括籍贯、性别、出生年月日、农历年、属相、生日、星座、出生至今年数、出生至今天数和判断证件有效性,那么怎样把这个信息都提取出来呢?想知道的朋友可以看看以下WPS操作技巧教程,或许对你有帮助!
WPS表格提取身份证信息的方法
一、原籍贯:(公式代码)
=IFERROR(IF(LENB(A2)=15,IFERROR(vlookup(VALUE(MID(A2,1,6)),Sheet4!$A:$B,2,0),VLOOKUP(VALUE(MID(A2,1,4)&\"00\"),Sheet4!$A:$B,2,0)),IFERROR(IFERROR(VLOOKUP(VALUE(MID(A2,1,6)),Sheet3!$A:$E,5,0),VLOOKUP(VALUE(MID(A2,1,4)&\"00\"),Sheet3!$A:$E,5,0)),VLOOKUP(VALUE(MID(A2,1,2)&\"0000\"),Sheet3!$A:$E,5,0))),\"证件无效\")
运算说明:
此运算运用了iferror逻辑函数,主要判断后面的函数计算结果,如果经过后面所有函数的判断都无法得到结果的,就在此单元格显示\"证件无效\"。(此函数在后面的单元格(除判断身份证有效单元格外)都用到此函数,同理,后面就不一一解释此函数的用法。
if函数主要是判断a2单元格的字符数(len函数)是否满足15位,如果是15位的话,则从a2单元格里提取(mid函数)前6位数字(从第一位提取,6个字符)在数据库中查找(vlookup函数)满足此条件的原籍贯所在地,此单元中后面的vlookup函数也是此用途。
中间运用了value函数,主要是因为数据库的数据都是数值型数字,函数中提取的是文本型数字,value函数就是把文本型数值激活为数值型函数。
二、性别:(公式代码)
=IFERROR(IF(LENB(A2)=15,IF(MOD(MID(A2,15,1),2)=1,\"男\",\"女\"),IF(MOD(MID(A2,17,1),2)=1,\"男\",\"女\")),\"证件无效\")
运算说明:
此运算中主要运用了循环余数(mod)函数,将a2单元格中从第15位数字起提取1位,并除以2,如果得到1,就是男性,否则就是女性。
三、出生年月日:(公式代码)
=IFERROR(IF(LENB(A2)=15,TEXT(MID(A2,7,6),\"19\"&\"00年00月00日\"),TEXT(MID(A2,7,8),\"0年00月00日\")),\"证件无效\")
运算说明:
此运算中运用了转换文本函数(text),指定提取(mid函数)的信息转化为指定的格式。
四、农历年:(公式代码)
=IFERROR(VLOOKUP(MOD(IF(LEN(A2)=15,VALUE(\"19\"&MID(A2,7,2)),VALUE(MID(A2,7,4))),60),Sheet2!$S$1:$U$61,2,0),\"证件无效\")
运算说明:
此运算中遇到的所有函数在前面都已经提到了,在这里就不一一详解,在此只解释下思路,在15位身份证号码在提取(mid)后在前面加上\"19\",先用用value强制转化为数值型数字参与计算,然后运用循环余数函数(mod)和查找引用函数结合在数据中,查找对应的农历年份。
五、属相:(公式代码)
=IFERROR(VLOOKUP(MOD(IF(LEN(A2)=15,VALUE(\"19\"&MID(A2,7,2)),VALUE(MID(A2,7,4))),60),Sheet2!$S$1:$U$61,3,0),\"证件无效\")
运算说明:
此运算与农历年的运算类似,在数据库中查找相对应的属相。
六、生日:(公式代码)
=IFERROR(IF(LENB(A2)=15,TEXT(MID(A2,9,4),\"00月00日\"),TEXT(MID(A2,11,4),\"00月00日\")),\"证件无效\")
运算说明:
此运算与提取出生年月日类似,在这里只是提取(mid)月份和年份,然后用文本函数(text)强制转化为日期格式。
七、星座:(公式代码)
=IFERROR(IF(LENB(A2)=15,INDEX(Sheet2!$M$1:$M$13,MATCH(VALUE(TEXT(MID(A2,9,4),\"0月00日\")),Sheet2!$N$1:$N$13)),INDEX(Sheet2!$M$1:$M$13,MATCH(VALUE(TEXT(MID(A2,11,4),\"0月00日\")),Sheet2!$N$1:$N$13))),\"证件无效\")
运算说明:
此运算中运用了查找引用函数(index函数嵌套match函数),与前面的vlookup函数类似,只不过vlookup函数如果要逆向查找需要嵌套if函数和数组公式:
=IFERROR(IF(LEN(A2)=15,VLOOKUP(VALUE(TEXT(MID(A2,9,4),\"0月00日\")),IF({1,0},Sheet2!$N$1:$N$13,Sheet2!$M$1:$M$13),2,1),VLOOKUP(VALUE(TEXT(MID(A2,11,4),\"0月00日\")),IF({1,10},Sheet2!$N$1:$N$13,Sheet2!$M$1:$M$13),2,1)),\"证件无效\")
用index函数嵌套match函数就不用这些了此法是vlookup函数的弊端。在此运用index函数嵌套match函数,主要是让大家更多的了解其他的查找引用函数。(其实此数据库中的日期,是可以放在星座前面的,然后用vlookup函数就简单多了)
[此处运用了查找引用函数的模糊匹配,绝对匹配:用index函数嵌套match函数或vlookup函数;如果是模糊匹配,在match函数中的第三个参数更改为1(true)(第三参数为1升序排列,-1为降序排列),vlookup第四个参数为1(true)]
如图:
>>>下一页更多精彩“WPS表格提取身份证信息的方法”共2页: 上一页