优秀的编程知识分享平台

网站首页 > 技术文章 正文

LookUp家族的几兄弟,我今天给你找来了,看你熟悉几个?

nanyue 2024-12-31 13:37:04 技术文章 3 ℃


当我们需要一个表中查找我们所需要的内容时,我们通常都会想到VLOOKUP这个函数。然而,VLOOKUP函数还有三个兄弟分别是:LOOKUP、HLOOKUP、XLOOKUP,它们在功能上各有千秋,今天我们将对这一组函数逐一了解。


LOOKUP

LOOKUP函数有两种用法

1、查询一行或一列并查找另一行或列中的相同位置的值

LOOKUP(要查找的内容, 查找范围, [结果范围])
LOOKUP(要查找的内容, 查找范围)---省略可选参数

2、数组的第一行或第一列中查找指定的值

LOOKUP(要查找的内容, 要查找的数组)

该用法其实与第一种用法中省略可选参数有异曲同工之效。

一列数据,在excel中其实就是一个数组,例如上面的第二种用法

另一外用法:用{}之间填写一系列数,形成数组。

注意:

1、查找范围(要查找的数组):该参数列的数值需要按从小到大顺序排列,不然会出现意想不到的结果

2、当查找的内容比查找范围中的最小值还要小的时候,显示的结果就会出现未找到结果的错误(#N/A)

3、它会使用查找范围(或者数组)中小于或等于 “要查找的值” 的最大值。比如:当输入的值小于4.19时,显示的结果一直是4.14(或者红色)

HLOOKUP

作用:在表格的首行或数值数组中搜索值,然后返回表格或数组中指定行的所在列中的值。

当比较值位于数据表格的首行时,如果要向下查看指定的行数,此时 HLOOKUP函数就可以上场了。H表示的是按行查找。

语法:

HLOOKUP(lookup_value, Table_array, Row_index_num, [Range_lookup])

lookup_value 为需要在数据表第一行中进行查找的数值。lookup_value 可以为数值、引用或文本字符串。 

Table_array    必需。 在其中查找数据的信息表。 使用对区域或区域名称的引用。
?Table_array 的第一行的数值可以为文本、数字或逻辑值。
?如果 range_lookup 为 TRUE,则 table_array 的第一行的数值必须按升序排列:...-2、-1、0、1、2、...、A-Z、FALSE、TRUE;否则,HLOOKUP 将不能给出正确的数值。 如果 range_lookup 为 FALSE,则 table_array 不必进行排序。
?文本不区分大小写。
?将数值从左到右按升序排序。 有关详细信息,请参阅对区域或表中的数据排序。

Row_index_num    必需。 将从中返回匹配值的table_array中的行号。 row_index_num 1 返回table_array中的第一行值,row_index_num 2 返回table_array中的第二行值,依此以类。 如果row_index_num小于 1,HLOOKUP 将返回 #VALUE! error 值;如果row_index_num大于table_array上的行数,HLOOKUP 将返回 #REF! 。

Range_lookup    可选。 一个逻辑值,指定希望 HLOOKUP 查找精确匹配值还是近似匹配值。 如果为 TRUE 或省略,则返回近似匹配值。 换言之,如果找不到精确匹配值,则返回小于 lookup_value 的最大值。 如果为 False,则 HLOOKUP 将查找精确匹配值。 如果找不到精确匹配值,则返回错误值 #N/A。

注意:

1、如果函数 HLOOKUP 找不到 lookup_value,且 range_lookup 为 TRUE,则使用小于 lookup_value 的最大值。

2、如果函数 HLOOKUP 小于 table_array 第一行中的最小数值,函数 HLOOKUP 返回错误值 #N/A。

3、如果 range_lookup 为 FALSE 且 lookup_value 为文本,则可以在 lookup_value 中使用通配符(问号 (?) 和星号 (*))。


***问号匹配任意单个字符;星号匹配任意一串字符。 如果要查找实际的问号或星号,请在字符前键入波形符 (~)。弱弱地:我还没试成功[可怜]

VLOOKUP(最常用,最常见,频率最高)

作用:使用 VLOOKUP,你可查找左侧列中的值,如果找到匹配项,则会在右侧的另一列中返回信息。

语法

VLOOKUP (Lookup_value, Table_array, col_index_num, [Range_lookup])

?Lookup_value为需要在数据表第一列中进行查找的数值。Lookup_value 可以为数值、引用或文本字符串。

当vlookup函数第一参数省略查找值时,表示用0查找。

?Table_array为需要在其中查找数据的数据表。使用对区域或区域名称的引用。

?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为一逻辑值,指明函数 VLOOKUP 查找时是精确匹配,还是近似匹配。如果为FALSE或0,则返回精

确匹配,如果找不到,则返回错误值 #N/A(无匹配错误)。如果 range_lookup 为TRUE或1,函数 VLOOKUP 将查找近似匹配值,

也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值。如果range_lookup 省略,则默认为1。

注意:

1、你要查找的数据应该始终处于要查找的数据表的第一列(相对第一列),否则查询不到要的结果,会返回错误

2、要想用好vlookup函数,主要是要组织好数据。

XLOOKUP(WPS新版本有此函数,Microsoft office只有Microsoft365版本有)

这是Lookup家族的新成员。Xlookup可以查横向数据,也可以查纵向数据,相当灵活。如果你使用的是最新版本的WPS或者Microsoft365,推荐使用本函数进行查找数据。

语法:

XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode]) 

lookup_value:必填,要搜索的值 如果省略,XLOOKUP 将返回在 lookup_array 中找到的空白单元格。   

lookup_array:必填,要搜索的数组或区域

return_array:必填,要返回的数组或区域

if_not_found:可选,如果未找到有效的匹配项,则返回你提供的 [if_not_found] 文本。如果未找到有效的匹配项,并且缺少 [if_not_found],则返回 #N/A 。

match_mode:可选,指定匹配类型:
												0 - 完全匹配。 如果未找到,则返回 #N/A。 这是默认选项。
												-1 - 完全匹配。 如果没有找到,则返回下一个较小的项。
												1 - 完全匹配。 如果没有找到,则返回下一个较大的项。
												2 - 通配符匹配,其中 *, ? 和 ~ 有特殊含义。

search_mode:可选,指定要使用的搜索模式:
												1 - 从第一项开始执行搜索。 这是默认选项。
												-1 - 从最后一项开始执行反向搜索。
												2 - 执行依赖于 lookup_array 按升序排序的二进制搜索。 如果未排序,将返回无效结果。
												-2 - 执行依赖于 lookup_array 按降序排序的二进制搜索。 如果未排序,将返回无效结果。

XLOOKUP函数远远不止上图中演示的纵向查找,它的强大是它前面三兄弟所不对比拟的。由于篇幅有限,下期将着重介绍XLOOKUP函数的各种用法。

要想下班早,函数用好少不了。关注我,持续进步,早点下班!

Tags:

最近发表
标签列表