Excel数据分析从入门到精通(六)函数进阶-52个Excel函数之关联匹配函数
1.关联匹配函数VLOOKUP
函数含义
解释:作用为在表格的首列查找制定的数据,并返回指定数据所在行中的指定列处的数据
使用:=VLOOKUP(lookup_value,table_array,col_index_num,[range_lookup])
lookup_value:要匹配查找的内容某一单元值
table_array:去匹配查找的数组区域(匹配在首列)
col_index_num:返回的内容所在的列数
[range_lookup]:0为精确匹配,1为近似匹配
函数使用
有工资明细表和员工部门表如下
姓名 | 工资 |
---|---|
Jane | 2100 |
Datafrog | 1800 |
Tom | 2000 |
姓名 | 部门 |
---|---|
Jane | 财务部 |
Datafrog | 销售部 |
Tom | 运营部 |
要求、公式及结果如下
要求 | 公式 | 结果 |
---|---|---|
查找工资为1800的Datafrog 所在的部门 |
=VLOOKUP(E8,H6:I9,2,FALSE) | 销售部 |
查找销售部Datafrog的工资 | =VLOOKUP( H8,E6:F9,2,FALSE) | 1800 |
[range_lookup]可以为0/1,也可以为true/false
其实可以理解为SQL中的inner join,lookup_value为on后的连接条件中的主表部分;
table_array相当于从表,是一个区域,要求首列中有on后连接条件,相当于连接条件的从表部分,函数会去查找选中区域的首列中是否有连接条件值;
最后查找的为从表中的值,因为连接条件即可确定数值所在行,故只需要在col_index_num给出需要select的值的列数即可;
最后的[range_lookup]false即为精确匹配,而true为查无对应值的时候近似返回小于查找值的最大值
以查找工资为1800的人的部门为例
select department_name from departments as de
inner join salaries as sa#相当于选中区域table_array
on de.name = sa.name
where sa.salary = 1800;/*