一、回顾Vlookup函数
1 、 vlookup函数语法
LOOKUP (lookup_value,table_array,col_index_num,[range_lookup])
但是vlookup函数有个短板,就是如果按照公司名称来查找客户ID的话,那它就不是从左边的字段查找右边的字段了。因为vlookup要保证查找值所在的字段在查询区域的最左侧。
二、Match与Index函数
1、函数语法
MATCH (lookup_value,lookup_array,[match_type])INDEX iarray,row_num,[column_num])
2、Match+Index与vlookup函数比较
3、使用Match与Vlookup函数嵌套返回多列结果
4、认识column函教
三、关于match与index函数和vlookup函数
1、match函数的简单使用
2、index函数的简单使用
3、match函数和index函数的结合使用
比vlookup强很多,它不分左右,还可以引回图片等
4、认识column()函数
它可以返回当前的列值,就算是往左右拉都可以返回当前单元格所在的列值
5、使用vlookup()函数结合其他函数实现返回多列结果
(1)这是查询的多列的位置是连续的
=VLOOKUP($D4,数据源!$A:$G,COLUMN()-3,FALSE)
- 第一个参数($D4)表示对列进行绝对引用,对行数为相对引用
- 第二个参数(数据源!$A:$G)表示查找区域
- 第三个参数(COLUMN()-3)表示要查找的列值,因为当前的列值是从E列开始也就是第5列,但是要查找的值在数据源表的第2列,所以减3.
- 第四个参数,0(false)表示精确查找,1(true)表示模糊查找
(2)查询的多列的位置顺序是乱的
=VLOOKUP($A3,数据源!$A:$K,MATCH(B$2,数据源!$A$1:$K$1,0),FALSE)
- 第一个参数($A3),列数使用了绝对引用,因为需要向下拖拽填充,会变化成A4、A5等
- 第二个参数(数据源!$A:$K),就是要查找的数据表的整个表,使用绝对引用是因为向下向右拖拽的时候会改变所以需要使用绝对引用
- 第三参数(MATCH(B$2,数据源!$A$1:$K$1,0)),使用match函数返回需要查找的表头在数据表中的列数