想第一时间收到最新知识,可关注微信公众号:黑米粥的世界。
欢迎加入QQ群:782200398获取案例
今天继续给大家分享关于VLOOKUP函数的进阶用法。点击以下链接回顾基础教程:
在进行数据查询时,有时需要返回的结果很多,比如通过学号一一查询语文、数学、英语、总分的成绩:
你肯定不想一个一个写公式,对吗?
先来分析一下:
在这四次查询中,所使用的都是VLOOKUP的精确查找:
先写第一个公式:
=VLOOKUP(H4,A1:F6,3,0)
四次查询中查询值都是学号A001,查询范围都是A1:F6,公式修改为:
=VLOOKUP($H$4,$A$1:$F$6,3,0)
唯一发生变化的是第三个参数:显示序列,而公式中手工录入的数字并不会自动发生变化
自动变化的数字需要通过函数实现,常用的有两个函数。
①顺序一致
如果返回结果与数据源中的字段顺序一致,那么显示序列是横向递增的序列;
此时可通过COLUMN函数得到横向递增的序列:
语法:=COLUMN(单元格),返回引用单元格的列号
举个例子:
=COLUMN()=公式所在的列
=COLUMN(B3)=2
=COLUMN(D3)-1=3
因此,对于顺序一致的多次查找,可以嵌入COLUMN函数实现显示序列的自动增长:
②顺序不一致
如果返回结果与数据源中的字段顺序不一致,COLUMN函数就不能满足需求了:
这时可以使用Match函数嵌套到Vlookup函数的第三个参数上来自动计算显示序列,Match函数用于返回查询值在某行或某列的位置。
语法:=Match(查询值,包含查询值的一列或一行,0)
因此,Vlookup+Match在数据查询中是一对绝妙的搭档:
两个不同的函数,大家可根据不同情况进行选择~