在使用HLOOKUP、LOOKUP、MATCH 、 VLOOKUP等函数时经常会出现#N/A错误。在各项参数都正常的前提了,就是数据匹配不上,没有找到数据。这种情况下为了美观及打印需要,都要手动删除#N/A错误。在数据量大的时候手工删除非常耗时。

碰到这样的问题怎么解决呢?,我们这里要用到ISERROR函数。
语法
IsError ( 表达式 )
所需的表达式参数可以是任何有效的表达式。 返回一个Boolean值,该表达式的值为错误值,返回TRUE(真),否则返回FALSE(假)。
我们的VLOOKUP函数是这样:=VLOOKUP(INT(LEFT(B2,6)),'2017年身份证行政区域对照表www.excel520.cn'!$D$2:$I$6752,6,FALSE),我们在VLOOKUP函数外面加个ISERROR函数判断是否出错,若出错(返回TRUE)就显示一个空格(或空白都可以),我们在这里为了看到效果,我们显示“不存在数据"。没有出错(返回FALSE)的话,我们还是用VLOOKUP函数查找数据。IsError 返回的是一个Boolean值,无法进行判断,我们需要结合IF函数使用。 我们的公式改成这样=IF(ISERROR(VLOOKUP(INT(LEFT(B2,6)),'2017年身份证行政区域对照表www.excel520.cn'!$D$2:$I$6752,6,FALSE)),"不存在数据",VLOOKUP(INT(LEFT(B2,6)),'2017年身份证行政区域对照表www.excel520.cn'!$D$2:$I$6752,6,FALSE))
直接输入身份证号码 |
选输入单引号,再输入身份证号码 |
发 证 地 |
公式 |
420682199512123000 |
410182199512123538 |
河南省郑州市荥阳市 |
=IF(ISERROR(VLOOKUP(INT(LEFT(B2,6)),'2017年身份证行政区域对照表www.excel520.cn'!$D$2:$I$6752,6,FALSE)),"不存在数据",VLOOKUP(INT(LEFT(B2,6)),'2017年身份证行政区域对照表www.excel520.cn'!$D$2:$I$6752,6,FALSE)) |
210323199611213000 |
210318199611213919 |
不存在数据 |
=IF(ISERROR(VLOOKUP(INT(LEFT(B3,6)),'2017年身份证行政区域对照表www.excel520.cn'!$D$2:$I$6752,6,FALSE)),"不存在数据",VLOOKUP(INT(LEFT(B3,6)),'2017年身份证行政区域对照表www.excel520.cn'!$D$2:$I$6752,6,FALSE)) |
330411198809114000 |
330411198809114518 |
浙江省嘉兴市郊区 |
=IF(ISERROR(VLOOKUP(INT(LEFT(B4,6)),'2017年身份证行政区域对照表www.excel520.cn'!$D$2:$I$6752,6,FALSE)),"不存在数据",VLOOKUP(INT(LEFT(B4,6)),'2017年身份证行政区域对照表www.excel520.cn'!$D$2:$I$6752,6,FALSE)) |
330225199611085000 |
530300199610085628 |
云南省曲靖市 |
=IF(ISERROR(VLOOKUP(INT(LEFT(B5,6)),'2017年身份证行政区域对照表www.excel520.cn'!$D$2:$I$6752,6,FALSE)),"不存在数据",VLOOKUP(INT(LEFT(B5,6)),'2017年身份证行政区域对照表www.excel520.cn'!$D$2:$I$6752,6,FALSE)) |
612321198911143000 |
612320198911143136 |
不存在数据 |
=IF(ISERROR(VLOOKUP(INT(LEFT(B6,6)),'2017年身份证行政区域对照表www.excel520.cn'!$D$2:$I$6752,6,FALSE)),"不存在数据",VLOOKUP(INT(LEFT(B6,6)),'2017年身份证行政区域对照表www.excel520.cn'!$D$2:$I$6752,6,FALSE)) |
好了,我们的#N/A错误问题解决了。一般情况下需要把"不存在数据"替换成空白显示,即"",这样看起来更美观。 |