Excel情报局
职场联盟Excel
大家好,今天我们来学习一下HLOOKUP函数在解决查询行与列交叉位置的值上的应用,希望大家对HLOOKUP函数有一个加深的印象,虽然是一个不常用的函数,但是值得我们去思考。
如下图所示:
A1:D4为数据源查询区域。是不同时间(上午、下午、夜间)与不同星期(周一 、周三、周五)的人员值班表。我们想要通过A7单元格指定的星期与B7单元格指定的时间来查询出对应的人员名称。
因为A7单元格的星期“周三”是数据源的列标题,B7单元格的时间“下午”是数据源的行标题,所以换句话来说就是查询行标题与列标题交叉位置的人员姓名“赵四”。
HLOOKUP函数的名称中的“H”表示“水平的”意思。HLOOKUP函数与VLOOKUP函数的语法相似,用法也基本相同,区别在于VLOOKUP函数在纵向的区域或数组中查询,而HLOOKUP函数则在横向的区域或数组中查询。
HLOOKUP函数的语法也很简单:
HLOOKUP(查找值,查找区域,返回值在查找区域中的行号,[精确/近似匹配])
第1参数:查找值,即找什么,放置要查找的数据。
第2参数:包含查找值的区域范围,即在哪里找,放置查找区域,其中第一行要包含要查找的数据。
第3参数:包含返回值的范围中的行号,即找到后返回第几行,注意查询方向是从上向下。
第4参数:可选参数,1或省略 默认按近似匹配,0按精确匹配。
我们可以使用HLOOKUP函数:
=HLOOKUP(A7,1:4,3,0)
查询A7单元格中的“周三”,在数据源第1~第4行的第3行所对应的值为“赵四”。因为数据源的第3行对应的是“下午”的行。
注意第2参数:数据源第1~第4行的第一行一定要包含要查找的数据(第一参数),也就是说,A7单元格中的“周三”,一定要在第1~第4行的第一行中。
因为HLOOKUP函数的第3参数“3”,是数据源第3行对应的“下午”的行,为一个固定的值,当B7单元格的时间数据变动了,我们最终要查询的姓名值不会实时变动。
我们可以用MATCH函数代替第3参数固定的行序数:
=HLOOKUP(A7,1:4,MATCH(B7,A1:A4),0)
MATCH函数用于返回要查找的数据在区域中的相对位置。
MATCH函数的语法也很简单:
MATCH(要查找的数据, 查找区域, 查找方式)
所以我们用MATCH函数确定B7单元格数据在A1:A4区域内的位置,即位于此区域的第几个单元格处。
这样我们变动A7或B7单元格指定的条件后,查询值人员姓名是会实时变动的。
〖往期知识点精彩超链接点击阅读〗