HLOOKUP函数查找表的第一行中的值,返回该表中与找到的值在同一列的另一个值。
HLOOKUP函数查找表的第一行中的值,返回该表中与找到的值在同一列的另一个值。
什么情况下使用HLOOKUP?
HLOOKUP函数可以在查找行中找到精确匹配值,或者近似匹配值。因此,该函数能够:
找到所选区域中的销售总额
查找所选日期对应的有效利率
HLOOKUP函数的语法
HLOOKUP(lookup_value,table_array,row_index_num,range_lookup)
§ lookup_value: 想要查找的值 — 可以是值,或者单元格引用。
§ table_array: 查找表 — 可以是2列或多列单元格区域引用或者单元格区域名称。
§ row_index_num: 想要返回的值所在的行,基于表中的行号。
§ [range_lookup]: 对于精确匹配,使用FALSE或者0;对于近似匹配,使用TRUE或者1,查找值所在行以升序排列。
HLOOKUP函数陷阱
与VLOOKUP函数相似,HLOOKUP函数比较慢,特别是在没有排序的表中执行文本字符串匹配且需要精确匹配时。尽可能使用第一行按升序排序过的表,且使用近似匹配。可以使用MATCH函数或者COUNTIF函数首先检查值,确保该值在表的第一行。
其它函数,诸如INDEX函数和MATCH函数,能用于从表中返回值,并且更有效率。在其它的文章中会介绍这些函数,会看到它们的灵活与强大。
示例1:找到所选区域中的销售量
HLOOKUP函数在查找表顶部行中查找值。本例中,查找所选区域中的销售量。重要的是获得正确的数量,因此使用下面的设置:
§ 在单元格B7中输入区域名
§ 区域查找表有两行,位于单元格区域C2:F3
§ 销售量位于表中的第2行
§ 最后一个参数设置为FALSE,以找到查找值的精确匹配
在单元格C7中的公式为:
=HLOOKUP(B7,C2:F3,2,FALSE)
如果在查找表的第一行没有找到区域名,HLOOKUP公式的结果是#N/A。
示例2:查找所选日期相应的利率
通常,在使用HLOOKUP函数时需要精确匹配,但是有时近似匹配会更好。例如,如果在每季度的开始利率会变化,仅输入这些日期作为列标题。然后,使用HLOOKUP和近似匹配,可以找到与日期相应的有效的利率。在本例中:
§ 在单元格C5中输入日期
§ 查找表有两行,位于单元格区域C2:F3
§ 查找表按日期行以升序排序
§ 利率在表的第2行
§ 最后一个参数使用TRUE,查找与所查找值近似匹配的值
在单元格D5中的公式为:
=HLOOKUP(C5,C2:F3,2,TRUE)
如果在查找表的第一行中没有找到日期,那么HLOOKUP公式的结果是小于且与lookup_value接近的最大值。在本例中,查找值是3月15日。该值不在日期行中,因此返回1月1日所在列对应的值(0.25)。