Excel 中的 HLOOKUP 是什么?
Excel 的 HLOOKUP 函数在表格的最上面一行中查找指定的值,并从不同行的同一列返回另一个值。指定的值称为查找值,返回的值称为匹配项。此匹配与精确查找值(精确匹配)或接近查找值的值(近似匹配)相对应。
例如,单元格 A1 和 B1 分别包含 10 和 20。单元格 A2 和 B2 分别包含“a”和“b”(不带双引号)。公式“=HLOOKUP(10,A1:B2,2,0)”返回“a”,如下图所示。
给定的 HLOOKUP 公式可以解释如下:
10 – HLOOKUP 搜索该值。A1:B2 – HLOOKUP 在此数组的最上面一行中搜索。2 – HLOOKUP 从数组的该行返回一个值。0 – HLOOKUP 返回精确匹配。
HLOOKUP在Excel中代表水平查找。它水平查找值(按行),与垂直查找不同(查找表),垂直(按列)查找值。因此,当需要在数组的最上面一行(从左到右)进行搜索时,必须使用 HLOOKUP。
使用HLOOKUP excel函数的目的是根据某些预定义的参数快速检索数据。此函数属于 Excel 的“查找”和“引用”函数。
目录
Excel 中的 HLOOKUP 是什么?Excel HLOOKUP函数语法如何在Excel中使用HLOOKUP函数?示例 #1 – 精确匹配以检索包括日期的数值示例 #2 – 精确匹配和近似匹配以检索百分比Excel 中 HLOOKUP 函数返回的错误Excel中HLOOKUP函数的相关要点经常问的问题
Excel HLOOKUP函数语法
Excel中HLOOKUP函数的语法如下图所示:
HLOOKUP Excel 函数接受以下参数:
Lookup_value:这是要搜索的值。它可以是数值、文本字符串或单元格引用。Table_array:由两行或多行组成,其中要搜索查找值。它可以是范围、表或命名范围。查找值必须始终位于“table_array”的最上面一行。此外,最上面的行可以包含数值、文本字符串或逻辑值(真和假)。Row_index_num:这是要返回匹配项的表数组的确切行。例如,如果“row_index_num”为 3,则返回表数组第三行的值。Range_lookup:可以取两个逻辑值中的任意一个,描述如下:True (1):如果“range_lookup”为 true 或 1,则 HLOOKUP 返回近似匹配。此外,当该参数设置为 true 并且未找到精确匹配时(请参阅后续注释),该函数将返回下一个最大值,该值小于查找值。如果“range_lookup”为 true,则表数组的值必须按升序排序,从左到右。False (0):如果“range_lookup”为 false 或 0,则 HLOOKUP 返回精确匹配。此外,当该参数设置为 false 并且未找到精确匹配时,该函数将返回“#N/A”错误。如果“range_lookup”为 false,则不需要对表数组进行排序。
参数“lookup_value”、“table_array”和“row_index_num”是必需的,而“range_lookup”是可选参数。如果省略“range_lookup”参数,HLOOKUP excel 函数会将其假定为 1 (true)。
注意:当“range_lookup”参数设置为 true 时,HLOOKUP 函数首先搜索精确匹配。如果未找到精确匹配,则该函数将返回近似匹配。当“range_lookup”参数设置为 false 时,HLOOKUP 函数仅搜索完全匹配。
HLOOKUP函数视频讲解
如何在Excel中使用HLOOKUP函数?
让我们考虑一些例子来理解查询Excel 的功能。
您可以在此处下载此 HLOOKUP Excel 模板 – HLOOKUP Excel 模板
示例 #1 – 精确匹配以检索包括日期的数值
下图显示了组织在特定日期(第 7 行)产生的销售收入(第 6 行)和赚取的利润(第 5 行)。该组织在东、西、北、南四个地区开展业务。每个地区的数据都是共享的。一列代表一个地区的数据。
我们想要检索与北部地区相关的利润、销售收入和销售日期。使用 Excel 的 HLOOKUP 函数执行精确匹配的查找。
检索北部地区相关数据的步骤如下:
步骤1:分别在单元格B10、C10和D10中输入以下公式:
“=HLOOKUP($A10,$A$4:$E$7,2,0)”“=HLOOKUP($A10,$A$4:$E$7,3,0)”“=HLOOKUP($A10,$A$4:$E$7,4,0)”
单元格 A10 包含“北”。
步骤2:输入上一步中的每个公式后按“Enter”键。输出显示在下图中的单元格 B10、C10 和 D10 中。
说明:在所有三个公式(在步骤 1 中输入)中,HLOOKUP 查找单元格 A10 中的值,即“北”。在数组 A4:E7 的最上面一行中查找该值。由于所有三个公式中的“range_lookup”均为 0,因此 HLOOKUP Excel 函数会查找精确匹配。
在(步骤 1 的)指针“a”中,HLOOKUP 返回表数组第 2 行的值。返回匹配的列与北部地区的列(D 列)相同。所指定的行和列对应的值为575。因此,根据指针“a”中的公式,输出为575。这就是北部地区的利润。
同样,在指针“b”和“c”(步骤 1)中,HLOOKUP 分别返回表数组 (A4:E7) 第 3 行和第 4 行的值。在这两个公式中,值都是从 North 列(D 列)返回的。
因此,指针“b”和“c”的相应匹配分别是 120 和 5/30/2018。前者是产生的销售收入,后者是与北部地区相关的销售日期。
示例 #2 – 精确匹配和近似匹配以检索百分比
下图显示了某些随机日期(第 15 行)和百分比(第 16 行)。我们想要检索以下值:
1-Jan 执行完全匹配查找的百分比4 月 2 日通过近似匹配执行查找的百分比
使用Excel的HLOOKUP函数。请注意,所有日期均涉及 2011 年。
检索给定值的步骤如下:
步骤1:分别在单元格B20和B21中输入以下公式:
“=HLOOKUP(A20,A15:E16,2,0)”或“=HLOOKUP(A20,A15:E16,2,False)”“=HLOOKUP(A21,A15:E16,2,1)”或“=HLOOKUP(A20,A15:E16,2,True)”
单元格 A20 和 A21 分别包含“1-Jan”和“2-Apr”。
步骤2:输入上述公式后按“Enter”键。单元格 B20 和 B21 中的输出分别为 10.0% 和 20.0%。这些如下图所示。
说明:在指针“a”(在步骤 1 中输入)的公式中,HLOOKUP Excel 函数在给定表格数组 (A15:E16) 的最上面一行中查找单元格 A20 的值。它查找与查找值 (1-Jan) 完全匹配的内容。该精确匹配是从表数组的第二行返回的。
返回精确匹配的列与 1-Jan 的列(B 列)相同。因此,给定行和列处的对应值为 10.0%,这是第一个公式的输出。
同样,在指针“b”(步骤 1)中,HLOOKUP 函数搜索单元格 A21 的值,即 2-4 月。这也在数组 A15:E16 的最上面一行中进行搜索。然而,这次函数会查找近似匹配,因为“range_lookup”参数设置为 1(或 true)。
HLOOKUP Excel 函数无法在表数组的最上面行中找到查找值 (2-Apr) 的精确匹配项。因此,该函数返回与下一个最大日期(即 4 月 1 日)对应的百分比。此下一个最大日期 (1-Apr) 小于查找值 (2-Apr)。
由于匹配需要来自给定数组的第二行 (A15:E16),因此输出为 20.0%。
注意:单元格 B20 和 B21 中的日期与数据集中给出的日期属于同一年 (2011 年)。如果我们输入不同年份的日期,我们将无法检索所需的数据。
Excel 中 HLOOKUP 函数返回的错误
excel HLOOKUP函数返回的错误解释如下:
A。“#N/A”错误:如果“range_lookup”参数设置为 false(或 0)并且 HLOOKUP 无法在表数组的最上面行中找到查找值,则会返回此错误。
例如,在下图中,“lookup_value”是 2-Jan,需要完全匹配。在单元格 B20 中,公式“=HLOOKUP(A20,A15:E16,2,0)”返回“#N/A”错误。
b. “#价值!” 错误: #价值!错误如果输入的“row_index_num”小于 1,则返回。
例如,在下图中,“row_index_num”提供为零。在单元格 B20 中,公式“=HLOOKUP(A20,A15:E16,0,0)”返回“#VALUE!” 错误。
C。“#REF!” 错误:如果输入的“row_index_num”大于表数组的总行数,则返回此错误。
例如,在下图中,“row_index_num”提供为 3,而“table_array”的总行数为 2。在单元格 B20 中,公式“=HLOOKUP(A20,A15:E16,3,0)”返回“#REF!” 错误。
Excel中HLOOKUP函数的相关要点
excel HLOOKUP函数相关要点列举如下:
它是一个不区分大小写的函数。这意味着大写和小写值的处理方式相同。除了表数组的最上面一行之外,它无法查找其他任何地方。因此,查找值应始终位于该行中。它支持在“lookup_value”参数中使用星号 (*) 和问号 (?) 等通配符。在这种情况下,可以输入不完整的文本字符串作为“lookup_value”,并据此检索相应的值。如果表数组的最上面行中有多个查找值实例,它会返回第一个匹配项。为了避免这种情况,请在应用 HLOOKUP 公式之前删除重复项。
注意:如果查找值不在表数组的最上面一行,则索引和匹配函数可用于获取数据。
经常问的问题
1. 定义 HLOOKUP 函数并说明何时应在 Excel 中使用它。
Excel 的 HLOOKUP 函数在数组的第一行中搜索指定的查找值,并从另一行返回相应的匹配项。返回匹配项的列与查找值的列相同。在函数的参数中,可以说明是否需要精确匹配或近似匹配。
HLOOKUP 函数用于以下情况
:当查找值位于数组
b的第一行时。当数组水平排列且需要在工作表的一行中查找值时
注意: HLOOKUP 函数的语法和参数请参见本文标题“Excel HLOOKUP 函数语法”。
2. 描述Excel中HLOOKUP函数的逐步使用。
当需要获取单个值时,步骤如下
:在需要输出的单元格中手动键入函数的参数。或者,从“公式”选项卡访问“插入函数”对话框。从“查找和引用”功能中选择“HLOOKUP”。输入函数参数。
b. 如果在上一步中手动输入参数,请按“Enter”键。或者,单击“函数参数”对话框中的“确定”继续。
从数据集中检索单个值。
当需要获取值数组时,步骤如下
:选择与输出中所需的行数一样多的空白水平单元格。
b. 在所选内容的第一个单元格中,手动输入 HLOOKUP 函数的参数。确保在大括号 {} 内输入“row_index_num”参数的不同行号。例如,公式应类似于“=HLOOKUP(A1,A1:C3,{1,2,3},0)”。排除开头和结尾的双引号。
C。同时按下“Ctrl+Shift+Enter”键。
在步骤“a”中选择的空白行中获得值数组。
3. 如何使用不同的Excel工作表执行HLOOKUP?
要从不同的工作表中提取数据,请指定工作表名称,后跟感叹号。例如,HLOOKUP 公式如下(忽略开头和结尾双引号):
“=HLOOKUP(A1,Sheet3!A1:C3,2,0)”
这里,“lookup_value”位于单元格 A1 中。“sheet3”包含“table_array”A1:C3。“row_index_num”为 2,“range_lookup”参数为 0。
如果工作表的名称包含非字母字符(如 @、# 等)或空格,请将名称括在单引号内,后跟感叹号标记(如“表 3”!或“表 3@”!)。
注意:您可以选择不同工作表的单元格,而不是手动键入参数。Excel 会自动在 HLOOKUP 公式中插入工作表名称。
同样,要从不同的工作簿中提取数据,请确保工作簿的名称包含在方括号内。为了方便起见,请选择不同工作簿的单元格。Excel 会自动在 HLOOKUP 公式中插入工作簿和工作表的名称。