**vlookup函数用法
vlookup、hlookup、lookup函数的用法和三者的区别**
lookup的用法:
lookup就是查找的意思,也是称模糊查找,下面会说,用法如例:如下图所示,=LOOKUP(B19,B2:B14,F2:F14) 的意思就是在B2:B14的范围内,查找内容等于B19的,如果找到,就复制对应的容量(从F2:F14中找对应的)出来
结果:
注意:LOOKUP要求查找的范围中,如上例的B2:B14(即电池条码列),必须是先排序的。如果没有规律,找出来的结果可能是不正确的。
LOOKUP是模糊查找,上例中,如果B19是一个数字, 原始数据表是没有这个值的,那么结果会是最接近这个数字的数字,会找出这行对应的值作为结果。vlookup用法:
vlookup就是垂直查找(vertical lookup)的意思,也是称精准查找,下面会说,用法如例:与上例一样,查找人数:
=VLOOKUP(B19,B2:Q14,5,FALSE)
可以观察到,查找范围从一列变成了多列,即从B列到Q列,从2行到14行,第三个参数5代表的是取所取范围内的第五列,第四个参数FALSE代表精准查找。
实际应用中,vlookup比较多用。
hlookup的用法与vlookup类似,vlookup是横向查找(Horizontal lookup),如果将上述的公司从列变成行,那么我们就要用hlookup进行查找。
match和index的使用
MATCH(lookup-value,lookup-array,match-type) (返回指定内容所在的位置)
- lookup-value:表示要在区域或数组中查找的值,可以是直接输入的数组或单元格引用
- lookup-array:表示可能包含所要查找的数值的连续单元格区域,应为数组或数组引用
- match-type:表示查找方式,用于指定精确查找(查找区域无序排列)或模糊查找(查找区域升序排列)。取值为-1、1、0 。其中0为精确查找
INDEX(array,row-num,column-num) (返回制定位置中的内容)
- array:要返回值的单元格区域或数组
- row-num:返回值所在的行号
- column-num:返回值所在的列号
所以可以将match函数和index函数配合使用。
例如:
如果要获取某人的1,3月的出勤数,怎么用index配合match来查找呢?
以B14为例公式讲解:
=INDEX($A D A14,$A A B A D$1,))
$A D$10是指数值的区域范围;
MATCH( A A A A A14的值,返回行值。
MATCH($B A D A D B$13值,返回列值。
这样在$A D$10区域内的行列值有了,就可以返回对应的VALUE了。看下面的返回结果:
作业
(请下载提供的数据集《DataAnalyst》)链接:https://pan.baidu.com/s/1sCaFkQ9DoxYE-FyiY2ewPA 提取码:f55z
一、vlookup函数的应用
用vlookup函数 查找以下公司的 companyId | companyFullName | |:----| |
上海云贝网络科技有限公司 | | 携程计算机技术(上海)有限公司 | | 浙江康健绿线网络技术有限公司 | |
久亿财富(北京)投资有限公司 | | 杭州木瓜科技有限公司 | | 思特沃克软件技术(成都)有限公司 | |
北京金山云网络技术有限公司 |如图:
例如我们要查找上海云贝网络科技有限公司
的CompanyId,公式就是
=VLOOKUP($B B2:$C6877,2,0) 而如果要找下一行的携程计算机技术(上海)有限公司
的CompanyId的话,把第一行的行数改为6882即可,其他公司同样如此。
二、用match和index函数实现第一题的功能
- 据我们所知,match返回的是位置,index返回的是对应位置的内容,
这里要注意的是INDEX的第一个参数是查找的值可能在的区域范围,这直接影响了INDEX的最后一个参数,最后一个参数是参照第一个参数进行改变的,加入第一个参数从上图中的,A:C变成B:C,那么我们就要将3改为2,因为我们要取C列的值。
同时加深了Match函数的用法印象,上图公式查找的是北京金山云网络技术有限公司
的id,第一个参数是E8,也就是所要查找的值的位置,然后再B列对E8的值进行配对,配对成功返回B列的行值。
三、用match和index函数查找以下id对应的公司名称,注意id是横向排列的| companyId | 127200 | 151079 | 22225 | |----|----|----|----|
四、请根据companyId和postionId两个条件查找对应的工资水平| companyId | positionId | salary | |:----|:----|:----| | 62 | 938038 | | | 1575 | 1157620 | | | 157392 | 2574696 | |
- 这道题完成不了。。。看了其他大神的做法:
请思考,是否会存在相同的公司id和职位di对应多种工资水平,如果有请查找出来。 并思考,如果存在多种的情况,目前的公式还能不能用?