admin 管理员组

文章数量: 887021


2024年2月29日发(作者:java 教程百度网盘)

vlookup函数引用失败有哪些原因

A表中的确有的一个数据,但在B表中使用VLOOKUP函数却无法引用过来,B表的引用单元格中显示#N//A,是什么原因呢?

VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)

Lookup_value 为需要在Table_array第一列中查找的数值。

可以为数值、引用或文本字符串。需要注意的是类型必须与table_array第一列的类型一致。

查找文本时,文本不区分大小写;可以使用通配符“*”、“?”。

Table_array 为需要在其中查找数据的数据表。

可以使用对区域或区域名称的引用、常数数组、计算后的内存数组。

对区域引用时,可以引用整列,excel会自动判断使用区域。

该参数的第一列必须包含查找的内容,其它列包含需返回的内容;返回内容的列序号由下个参数指定。

Col_index_num 为table_array中待返回的匹配值的列序号。

如为1时,返回table_array第一列中的数值;为2,返回table_array第二列中的数值,以此类推。

如果col_index_num小于1,函数 VLOOKUP 返回错误值值 #VALUE!;

如果col_index_num大于table_array的列数,函数 VLOOKUP 返回错误值 #REF!。

Range_lookup 为一逻辑值,指明函数VLOOKUP返回时是精确匹配还是近似匹配。

如果为TRUE或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于lookup_value的最大数值;

近似匹配查询一般用于数值的查询,table_array的第一列必须按升序排列;否则不能返回正确的结果。

如果range_value为FALSE(或0),函数VLOOKUP将返回精确匹配值。

此时,table_array不必进行排序。如果找不到,则返回错误值#N/A;可isna检测错误后使用if判断去除错误信息。

VLOOKUP 函数通过使用与左侧列的匹配来选取行号和列号,从一个列的范围内来取回值,从而在该行内选取列。

VLOOKUP(search-value, cell-range, column, [exact-match])

search-value:在范围的左侧列内要查找的值,从而选择一行。

cell-range:含有您的数据的单元格范围。左侧的列包含要搜索的数据,其余行包含要取回的值。

column:指定要从中取回值的单元格的相对列号。范围左侧的列为列 1。

exact-match:可选布尔值,确定是否需要准确值:

TRUE、1 或省略,即如果没有准确配置,则选择小于搜索值的最顶端一行的值。

FALSE 或 0 则当没有准确配置时返回错误。

示例

假设表格如下:

VLOOKUP(20, B2:E6, 2) 返回 E。

VLOOKUP(21, B2:E6, 2) 返回 E。

VLOOKUP("M", C2:E6, 2) 返回 dolor。

VLOOKUP("blandit", D2:E6, 2) 返回 5。

VLOOKUP(21, B2:E6, 2, FALSE) 返回一个错误,因为左列内没有值能准确匹配 21。

Excel查询函数中,Lookup和Vlookup有哪些区别?它们在应用中应该如何把握?请看本文讲解。

★Lookup——数与行列比

Lookup的工作职责是什么呢?用一个数与一行或一列数据依次进行比较,发现匹配的数值后,将另一组数据中对应的数值提取出来。

·工资税率表:用数值比较

根据不同的工资进行不同的税率计算是一个常见的应用。我们来看这张“工资税率查询”表(见图1)。现在要在右侧根据“收入”(F列),直接得到对应的“税率”(G列)。在计算第1个“税率”时,输入函数公式“=LOOKUP(F4,$B$3:$B$8,$D$3:$D$8)”,回车,便可得到“36.00%”。

这个结果是怎么来的?用F4中的第1个收入数“$123,409”,与左侧表的“收入最低”各档数据(“$B$3:$B$8”)进行对比,虽然“$123,409”在“收入最低”各档数中没有完全一致的数据与之匹配,但是会与其中小于它的最大数“$58,501”相匹配。这样,同一行对应的“36.00%”就提取出来了。

·图书销售表:用文本比较

Lookup函数的对比数还可以是文本。在这张图书销售查询表中(见图2),用下表输入的“编号”(A15单元格)文本当作查询数,与上表的“编号”一列($A$3:$A$11)进行对比,查询到了匹配的文本后,将“教材名称”一列($B$3:$B$11)对应的数据提取出来。公式是“=LOOKUP(A15,$A$3:$A$11,$B$3:$B$11)”。

★Vlookup——数与表格比

Lookup有一个大哥——Vlookup函数。两兄弟有很多相似之处,但大哥本领更大。Vlookup用对

比数与一个“表”进行对比,而不是Lookup函数的某1列或1行,并且Vlookup可以选择采用精确查询或是模糊查询方式,而Lookup只有模糊查询。

·模糊匹配

用Vlookup函数进行模糊查询时,几乎与Lookup的作用完全一致。我们用Vlookup函数来提取第1个例子中的工资税率结果。函数公式为“=VLOOKUP(F4,$B$3:$D$8,3,TRUE)”。

在这个函数中,用第1个收入“$123,409”(F4单元格)当作对比数,用它与左侧表(“$B$3:$D$8”)的第1列数进行对比,虽然“$123,409”在“收入最低”各档数中没有完全一致的数据与之匹配,但是函数的最后一个参数是“TURE”(“TURE”就是模糊查询),所以它会与其中小于它的最大数“$58,501”相匹配。并将表中第3列(函数的第3个参数为“3”)对应的数据提取出来,所以结果同样是“36.00%”。

·订单明细表:精确匹配

有时候,我们需要精益求精。在下面这个“订单明细表”(见图3)中,最后一列“货运费用”中的数据要通过“交货方式”从左侧“配送公司收费表”中进行匹配查询。这是一个典型的精确查询的例子,计算第1个数据的函数公式是“=VLOOKUP(H3,$B$2:$D$6,3,FALSE)”。

小提示:

把最后一个参数从“TRUE”变更成“FLASE”,就是精确匹配。而精确查询,就是查询数要与查询表第1列中的数据完全一致才能匹配提取,否则结果返回错误值“#N/A”。


本文标签: 查询 函数 返回