已经有些年没有碰过excel的公式了,今日在处理一个Excel的时候,使用vlookup时候频繁出现 #N/A 错误,查寻官方对vlookup的使用方法并没有发现错误,经过多次的常识,终于找到问题所在,并且这里要对官方的方法做一个补充,很重要的。
前提说明:0ffice 2007 版本。
该函数的语法规则如下:
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
参数 | 简单说明 | 输入数据类型 |
lookup_value | 要查找的值 | 数值、引用或文本字符串 |
table_array | 要查找的区域 | 数据表区域 |
col_index_num | 返回数据在区域的第几列数 | 正整数 |
range_lookup | 精确匹配 | TRUE(或不填) /FALSE |
Lookup_value参数说明
Lookup_value为需要在数据表第一列中进行查找的数值。Lookup_value 可以为数值、引用或文本字符串。
Table_array参数说明
Table_array为需要在其中查找数据的数据表。使用对区域或区域名称的引用。
col_index_num参数说明
col_index_num为table_array 中待返回的匹配值的列序号。col_index_num 为 1 时,返回 table_array 第一列的数值,col_index_num 为 2 时,返回 table_array 第二列的数值,以此类推。如果 col_index_num 小于1,函数 VLOOKUP 返回错误值 #VALUE!;如果 col_index_num 大于 table_array 的列数,函数 VLOOKUP 返回错误值#REF!。
Range_lookup参数说明
Range_lookup为一逻辑值,指明函数 VLOOKUP 查找时是精确匹配,还是近似匹配。如果为true或省略 ,则返回近似匹配值。也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值。如果 range_lookup 为 false,函数 VLOOKUP 将查找精确匹配值,如果找不到,则返回错误值 #N/A。
但是其中要注意一点:Table_array 中要把查找数据所在的列放在第一列。
例如(这个例子很重要,有助于理解):
sheet1:
列1 | 列2 | 列3 |
东城 | 茄子 | 1.2 |
石景山 | 土豆 | 0.8 |
南城 | 白菜 | 1.02 |
丰台 | 豆角 | 0.5 |
朝阳 | 黄瓜 | 0.7 |
sheet2:
黄瓜 | #N/A |
白菜 | |
豆角 |
首先定义sheet1中的数据区域为 tablex,(选中查询区域–插入–表……)
然后在sheet2中写入公式:=VLOOKUP(A2,tablex,3,FALSE),
此时因为“黄瓜”所在的列“列2”不是在sheet1的第一列,所以会出现“#N/A”,
如果把sheet1中的“列2”换到“列1”中,就不会出现 “#N/A”了。
如对公式理解错误请指正,不胜感激。
如需转载请注明: 转载自26点的博客
本文链接地址: Excel2007中vlookup 出现 #N/A错误的解决方法