第二节 5.2VLOOKUP函数
HLOOKUP函数:水平查找的能手,在Excel中,HLOOKUP函数(Horizontal Lookup的缩写)是执行水平查找的函数,它允许你根据一个关键值在表格的第一行中查找,并返回同一列中另一个行的值。
5.2.1函数语法:
HLOOKUP函数的基本语法如下:
函数语法(中文):
=HLOOKUP(查找值, 表格数组, 行索引号, [范围查找])
查找值:你希望在表格的第一行中查找的值。
表格数组:包含数据的范围,HLOOKUP将在其中进行查找。
行索引号:表格数组中你希望返回数据的行号。
范围查找:查找方式,设置为TRUE时表示近似匹配,设置为FALSE时表示精确匹配。
英文表达
=HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])
lookup_value:需要查找的值。
table_array:查找值所依据的数据区域或范围。
row_index_num:数据区域中的行号,从该行返回匹配列的值。
range_lookup:查找方式,TRUE表示近似匹配,FALSE表示精确匹配。
5.2.2使用场景:
假设我们有一个产品价格表,包括产品名称和不同规格的价格。我们想要根据产品名称查找其大号规格的价格。
产品名称 小号价格 中号价格 大号价格
如果我们想要找出产品A的大号价格,可以使用以下公式:
=HLOOKUP("大号价格", A1:D2, 3, FALSE)
查找值:"大号价格" 是在表格的第一行中查找的值。
表格数组:A1:D3 定义了HLOOKUP函数将要搜索的范围。这个范围从A1单元格开始,一直到D3单元格结束,覆盖了标题行和数据行。
行索引号:2 表示想要从查找到的标题所在行的下一行获取数据。在这个例子中,"大号价格" 在第一行,所以行索引号为2实际上指向了第二行,即包含具体产品信息的行。
查找方式:FALSE 表示希望进行精确匹配,即查找值必须完全匹配表格数组第一行中的某个标题。
结果: "大号价格" 的标题在第一行的第四列(从A开始计数)。使用上述公式,Excel 会在 A1:D3 范围内的第一行查找 "大号价格",并返回第二行("产品A" 所在的行)的第四列的值,即 40。
5.2.3注意事项:
当range_lookup参数设置为FALSE时,HLOOKUP将执行精确匹配。如果找不到精确匹配项,它会返回错误值#N/A。
当设置为TRUE时,HLOOKUP会执行近似匹配,这要求table_array的第一行必须是按升序排序的。
HLOOKUP函数只能从上到下查找,即只能根据第一行的值查找其他行的数据。
5.2.4高级应用:
HLOOKUP函数虽然强大,但在某些情况下可能会受到限制。例如,当查找行中存在大量重复的查找值时,HLOOKUP可能无法返回正确的结果。在这种情况下,可以考虑使用INDEX和MATCH函数组合来实现更灵活的查找。
案例一:INDEX和MATCH函数结合使用,这种结合特别适用于当查找的列不是固定的,而是根据某些条件动态确定的情况。
我们想要通过姓名查找学生的数学成绩。这时可以使用HLOOKUP函数与INDEX函数结合使用。
步骤1:首先,使用INDEX函数获取数学成绩所在的列数。在单元格E2中输入以下公式:
使用HLOOKUP函数查找姓名对应的行号,然后用INDEX函数查找数学成绩:
=INDEX(C2:C4, MATCH("张三", A2:A4, 0))
这个公式首先使用MATCH函数找到"张三"在A2:A4范围内的相对位置,
然后INDEX函数返回C2:C4范围内相应行的值。