使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

提示: 尝试使用新的 XLOOKUP 函数,该函数是 HLOOKUP 的改进版本,可在任何方向工作,默认情况下返回完全匹配,因此使用起来比前一个版本更轻松、更方便。

本文介绍 Microsoft Excel 中 HLOOKUP 函数的公式语法和用法。

说明

在表格的首行或数值数组中搜索值,然后返回表格或数组中指定行的所在列中的值。 当比较值位于数据表格的首行时,如果要向下查看指定的行数,则可使用 HLOOKUP。 当比较值位于所需查找的数据的左边一列时,则可使用 VLOOKUP。

HLOOKUP 中的 H 代表“行”。

语法

HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])

HLOOKUP 函数语法具有下列参数:

  • 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。

备注

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

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

  • 如果 range_lookup 为 FALSE 且 lookup_value 为文本,则可以在 lookup_value 中使用通配符(问号 (?) 和星号 (*))。 问号匹配任意单个字符;星号匹配任意一串字符。 如果要查找实际的问号或星号,请在字符前键入波形符 (~)。

示例

复制下表中的示例数据,然后将其粘贴进新的 Excel 工作表的 A1 单元格中。 要使公式显示结果,请选中它们,按 F2,然后按 Enter。 如果需要,可调整列宽以查看所有数据。

车轴

轴承

螺钉

4

4

9

5

7

10

6

8

11

公式

说明

结果

=HLOOKUP("车轴", A1:C4, 2, TRUE)

在首行查找车轴,并返回同列(列 A)中第 2 行的值。

4

=HLOOKUP("轴承", A1:C4, 3, FALSE)

在首行查找轴承,并返回同列(列 B)中第 3 行的值。

7

=HLOOKUP("B", A1:C4, 3, TRUE)

在首行查找 B,并返回同列中第 3 行的值。 因为找不到 B 的完全匹配项,将使用第 1 行列 A 中小于 B 的最大值 "车轴"。

5

=HLOOKUP("螺栓", A1:C4, 4)

在首行查找螺栓,并返回同列(列 C)中第 4 行的值。

11

=HLOOKUP(3, {1,2,3;"a","b","c";"d","e","f"}, 2, TRUE)

在三行数组常量中查找数字 3,并返回同列(本例中为第三列)中第 2 行的值。 数组常量中有三行数值,并且每行都用分号 (;) 分隔。 因为在第 2 行和第 3 列(同一列)中找到 c,因此将返回 c。

c

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×