Excel中的HLOOKUP、VLOOKUP、XLOOKUP函数

本文探讨了如何利用HLOOKUP、VLOOKUP和新兴的XLOOKUP函数在Excel中根据两列条件查找另一张表的行和列。通过实例演示了这三个函数的用法,对比它们在数据查找过程中的异同,帮助读者掌握在不同场景下的高效数据检索技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  昨天使用INDEX和MATCH两个EXCEL函数完成了表中数据的快速查找,想一想,EXCEL中还有另外的查找函数,比如HLOOKUP、VLOOKUP、LOOKUP、XLOOKUP函数,那使用它们能不能完成同样的操作呢?
  可以的。
  仍然是昨天的问题:Excel如何根据两列条件查找另一张表的行和列?

  1、使用HLOOKUP和MATCH完成

  HLOOKUP(lookup_value,table_array,row_index_num,range_lookup)
  lookup_value:要查找的值,数值、引用或文本字符串,在数据表第一行中进行查找的数值
  table_array:要查找的区域,数据表区域
  row_index_num,返回数据在要查找的区域的第几行数,正整数
  range_lookup,模糊匹配/精确匹配,TRUE /FALSE(或不填)
  HLOOKUP中的H即Horizontal(水平),结合在数据表第一行中进行查找的数值与row_index_num一起,理解这个函数为在一块区域内查找给定值,确定列,然后根据该列给定的行号返回最终查找的结果值。
  先看完成结果:

  D3单元格的公式:

=HLOOKUP(B3,H2:J4,MATCH(C3,G3:G4)+1,0)

  解释:HLOOKUP函数可以根据给定的值(比如:苹果)定位到具体的具体的列,这一列的行号需要MACTH函数来给定,注意要加1。

  2、使用VLOOKUP和MATCH完成

  VLOOKUP(lookup_value,table_array,col_index_num,[range_lookup])
  lookup_value:要查找的值,数值、引用或文本字符串,需要在数据表第一列中进行查找的值
  table_array:要查找的区域,数据表区域
  col_index_num:返回数据在查找区域的第几列数,正整数
  range_lookup:近似匹配/精确匹配,FALSE(0、空格或不填(但是要有','占位))/TRUE(1或不填(无逗号占位))
  Lookup_value为需要在数据表第一列中进行查找的值
  VLOOKUP中的H即Horizontal(水平),结合需要在数据表第一列中进行查找的值与col_index_num一起,理解这个函数为在一块区域内查找给定值,确定行,然后根据该行给定的列号返回最终查找的结果值。
  先看完成结果:

   D3单元格的公式:

=VLOOKUP(C3,G3:J4,MATCH(B3,H2:J2),0)

  解释:VLOOKUP函数可以根据给定的值(比如:国产)定位到具体的行,这一行的列号需要MACTH函数来给定。

  3、XLOOKUP函数

  XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])
  lookup_array:必需,要搜索的数组或区域,
  return_array:必需,要返回的数组或区域
  [if_not_found]:可选,如果找不到有效匹配项,则返回你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 按降序排序的二进制搜索。 如果未排序,将返回无效结果。

  这个函数与HLOOKUP有些类似,它是在所搜的数组或者区域中查找给定值,如果找到了,就给出在给定返回的数组或者区域中的前面找到的索引对应的值。

  举例:

 

### XLOOKUP 函数HLOOKUP 函数的区别 #### XLOOKUP 函数的使用方法 `XLOOKUP` 是一种更为灵活和强大的查找函数,在 Excel 2019 及更新版本中可用。此函数允许在一个范围内搜索特定值并返回相应位置的另一个范围内的对应值。 语法如下: ```excel =XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode]) ``` - `lookup_value`: 要查找的值。 - `lookup_array`: 查找区域。 - `return_array`: 返回结果所在的数组或单元格区域。 - `[if_not_found]`: 如果未找到匹配项,则显示的内容,默认为 #N/A 错误消息。 - `[match_mode]`: 匹配模式选项,可选参数。 - `[search_mode]`: 搜索方向设置,可选参数。 示例如下: 假设 A 列包含产品 ID,B 列包含价格列表,要基于给定的产品 ID 找到其对应的售价,可以这样写公式: ```excel =XLOOKUP(E2,A:A,B:B,"Not Found",0) ``` 这里 E2 单元格放置着待查的产品编号[^3]。 #### HLOOKUP 函数的使用方法 相比之下,`HLOOKUP` 主要是用来执行水平查找的任务,即当数据是以横向排列的方式存储时适用。该函数会在表格的第一行寻找指定的关键字,并向下移动至设定好的列数来获取目标数值。 基本结构如下所示: ```excel =HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup]) ``` - `lookup_value`: 需要在最上面一行里定位的目标关键字。 - `table_array`: 整个二维矩阵形式的数据集。 - `row_index_num`: 表明希望从哪一行提取最终答案;注意这里的索引是从顶部算起的正整数。 - `[range_lookup]`: 是否启用近似匹配标志位,默认开启 (TRUE),通常建议关闭以获得精确的结果(FALSE)。 举例来说,如果有一个销售记录表横跨多列,其中第一行为月份名称,下面几列为不同产品的销售额度,那么就可以利用 `HLOOKUP` 来按月统计某类商品的具体收入情况[^4]。 #### 关键区别总结 - **灵活性**: `XLOOKUP` 支持双向查找(既可以垂直也可以水平),而 `HLOOKUP` 仅限于水平方向上的检索。 - **易用性**: `XLOOKUP` 提供更多自定义选项以及更直观的操作方式,简化了许多复杂的查询需求处理过程。 - **兼容性**: 对于较旧版 Microsoft Office 用户而言,可能不具备内置支持 `XLOOKUP` 功能的情况,此时仍需依赖传统的 `VLOOKUP` 或者 `HLOOKUP` 等替代方案[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值