深入理解Excel的vlookup函数

对于Excel的使用,可以分为几个层次:

I 只涉及到简单公式的数据处理,包括各种筛选的使用;

II 涉及到一些复杂公式,包括if、vlookup等函数的使用;

III 数据透视表的使用;

IV VBA的使用。

其中,vlookup的使用还是有一定的复杂度的。

lookup自然是查找的意思。

其中的v表示vertical,纵向的意思,对应的是excel需要考虑的一个相隔的列数。

所以vlookup表示按列查找。

而hlookup表示按行查找。

看vlookup的参数:

深入理解Excel的vlookup函数

其中第三个参数col_index_num中的col就是column。

看word中是怎样查找的:

深入理解Excel的vlookup函数

其中只有一个“查找内容”的框,这个框与与vlookup的第1个参数有对应关系。
在word的编辑操作中有一个规则,就是“先选定,后操作”,选定的区域就是操作的范围。对于查找来说,选定的区域就是查找的范围,word的“选择”操作,对应vlookup的第二个参数。

excel的lookup与word的查找不同的是,word是查找到值本身所在的位置进行操作,excel是查找到value所在的位置,同时也是地址(行+列)后,是要去匹配相同行某一列的值(vlookup)或相同列某一行的值(hlookup)。所以Excel的的lookup区分vlookup和hlookup,分别去指定是第几列或第几行。

什么情况下使用vlookup而不是hlookup呢?看下面的基础数据布局:

深入理解Excel的vlookup函数

其中第一行是字段名(相当于变量),其它行是对应字段名的取值(相当于变量值),第一行以外的其它行称为行记录,vlookup就是查找其行记录,如某一SKU的值,找到后,其在第几行是确定的,你需要匹配的是第几列的值,此时就是列查找,使用vlookup。

如果基础数据是如下布局呢?(将上面的表格转置了一下)

深入理解Excel的vlookup函数

其中第一列是字段名(相当于变量),其它列是对应字段名的取值(相当于变量值),如果要查找SKU的值,找到后,其在第几列是确定的(一列(不包括第一列)就是一条记录,称为列记录),你需要匹配的是第几行的值了,此时就是行查找,使用hlookup。

明白了上面一些前置知识,再来看vlookup就很清晰了:

vlookup函数的语法规则如下:

VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)

深入理解Excel的vlookup函数

第4个参数一般默认为0就行了。

第1个参数是“要查找的值”,可以是某一个单元格的引用,或某一列的名称(如果是hlookup,则是某一行的名称)。

第2个参数是要查找的目标区域,可以通过列来选定。

第3个参数要稍微复杂一点。对于vlookup来说,如前所述,找到的是行记录,需要匹配的值要指定跨越的列数,也就是这个行记录查找的值与需要匹配的值相隔的列数。

1 vlookup是index+match函数的语法糖

也就是说,vlookup可用index+match同等实现,

index()可以通过行号和列号返回某一个单元格的值。

match()函数可以返回某一个值在某一行中的列号或某一列中的行号。

深入理解Excel的vlookup函数

如以下两个公式有相同的效果:

=VLOOKUP(B:B,基础数据!A:D,4,0)

=INDEX(基础数据!A:D,(MATCH(B3,基础数据!A:A,0)),4)

以上match是在表格"基础数据"的A列中去查找B3的值,匹配的是其所在的列的行号。
由关键字确定其所在的行(行记录),再用一个列号做参数,便可以通过函数index()去返回其所在单元格的值或引用。

2 vlookup函数无需修改复制到其它列

前提条件:公式所在单元格对应的表头的字段名要等于目标区域的表头的字段名。

这样可以通过match函数,去查找目标区域表头区域,匹配其所在的列数,如果查找值对应的是n列,再需要再减去n-1,当然也可以由match函数选定一个由查找值的字段名开始的区域:

同时,要考虑绝对引用与相对引用即可(使用符号$,快捷键F4可以在绝对引用和相对引用之间切换),绝对引用在公式复制时是固定的,相对引用在复制公式时,其位置引用是相对变化的。

=VLOOKUP($A4,baseData!$A:$F,MATCH(C$2,baseData!$1:$1,0)-0,0)

3 对于查找值,也可以使用函数来操作,如mid函数

例如可以查找身份证号码对应的前两位(可以使用mid函数),如43,返回另一个数据区域中43所对应的”湖南省“。也就是vlookup函数的第一个参数可以是函数mid返回的值。

参考:

Excel|函数vlookup可用index+match同等实现

Vlookup函数一次性查找多个值,结合这个Match函数太方便了

vlookup函数和mid嵌套使用?

Excel|Vlookup用常量数组实现需要查找的数据源

Excel|深入理解数组公式及理解vlookup逆向查找的原理

Excel|IF函数构建二维内存数组以及vlookup多值、反向、模糊查找

-End-

展开阅读全文

页面更新:2024-05-24

标签:行号   函数   表头   数组   变量   公式   语法   表格   区域   位置   参数   目标   操作   基础   数据

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top