为什么从身份证号码提取籍贯时位置移动了?
110226 北京市平谷县
110227 北京市怀柔县
110228 北京市密云县
110229 北京市延庆县
我输入的是110226的行政区域代码,却提取出来的是“北京市怀柔县”,我用的公式是=VLOOKUP(LEFT(Y4,6),行政区域代码!$A$1:$B$3469,2,1)
另外我用的公式是=VLOOKUP(LEFT(Y4,6),行政区域代码!$A$1:$B$3469,2,0)提取的是“#N/A”
这到底是怎么回事?请高人指点!!!!
分析:
这个需要检查一下你的Y4原数据的格式
(1) 一般来说你的Y4源数据肯定文本格式,但文本格式有2种方式得到
1种是设置了单元格格式为文本格式后输入数字得到
这种格式,用你的公式没有问题
(2) 另1种是数字前加了不显示的"撇”,得到的也是一个文本格式
这种格式用你的公式,得到的前面6位数字,由于撇的存在其实是个“撇+5位数”
这个时候用你的公式,LEFT(Y4,6)得到的结果都是 "撇+11022”,如果你用模糊查询就会得到第一个110226的结果,如果你用精确查询,就会由于查询不到,而返回“#N/A”
所以:你的情况应该属于第二种
解决办法:
用right()函数预处理一下你的Y列数据
假设Y列数据都是18位
那么你的公式可以更改为:
=VLOOKUP(LEFT(RIGHT(Y4,18),6),行政区域代码!$A$1:$B$3469,2,FALSE)
目的是先用right()函数截取可见的文本数字,排除“撇”号的影响!!!
热门标签: