您的位置 首页 杂谈

VLOOKUP函数一对多查找,就是这么简单!

银魂走光篇,emodao,杨家坪二手房网

在Excel众多函数当中,VLOOKUP函数估计是出镜率最高的了,但它似乎有局限性,这不,今天老板要在右边的查询表中找出部门的所有成员,VLOOKUP好像无能为力? VLOOKUP…

在Excel众多函数当中,VLOOKUP函数估计是出镜率最高的了,但它似乎有局限性,这不,今天老板要在右边的查询表中找出部门的所有成员,VLOOKUP好像无能为力?

VLOOKUP重复值查找

这个问题,VLOOKUP其实也能轻松搞定,且听技巧君慢慢道来!

文末有示例文件获取方法哦!

VLOOKUP函数只能找到首个匹配数据

我们知道vlookup总会以第一个被找到数据作为最终的匹配数据,所以,当有四个”市场开发部“同时存在时,很自然的,它只能默认为匹配首个,也就是说只能返回”孙权“

VLOKKUP函数基础属性

这里需要注意,VLOOKUP函数只能返回首个匹配数据,这是不可改变的,所以我们可以从数据源入手,把每个部门变成唯一值!

改造数据源生成唯一“编号”是解决问题的基本思路

可以看到,部门人数都不是唯一,我们可以给每个部门的成员一个“编号”,比如财务中心,3个人分别编成“财务中心1”、“财务中心2”…,这样每名员工就都会有一个唯一的“编号”,把这个“编号”作为查找值即可解决这个问题!

那我们可以把这个问题拆成两步进行:

  1. 改造源数据,构造辅助列把部门变成唯一索引值
  2. 用VLOOKUP函数完成查找匹配

那么,如何去完成每个部门的编号呢?

用COUNTIF构造辅助列

COUNTIF函数的功能是根据条件计数,在这个问题中恰如其分,

我们用

COUNTIF($C$9:C10,C10)

这样一个公式来对每个部门出现的次数进行统计,得到每个部门的成员编码

编号

接着,我们用“”连接符把部门和编码组合起来,形成唯一索引,完成数据源的改造:

C10COUNTIF($C$9:C10,C10)

索引列构造

用VLOOKUP完成查询

索引列构造完毕,咱们就可以进行查询了,这里又有一个问题,查询表只有一个部门,如何给他加上编码呢?这里,咱们可以用ROW函数来构造编码:

ROW(1:1)

ROW函数编码

接着,同样用“”连接符把部门和编码组合起来:

$I$10ROW(1:1)

查询表编码

然后,使用VLOOKUP函数完成查询:

VLOOKUP($I$10ROW(1:1),$B$9:$G$24,3,0)

VLOOKUP完成查询

最后,注意到,由于每个部分人数不定,后面会出现错误值,我们可以用IFERROR函数来进行美化:

IFERROR(VLOOKUP($I$10ROW(1:1),$B$9:$G$24,3,0),”)

IFERROR美化

这样,使用VLOOKUP进行一对多的重复值查询就完成啦,你是否学会了呢?

本文示例文件获取方法:

本文来自网络,不代表加推新闻网立场,转载请注明出处:http://www.bafangmiaomu.com/shehui/98177/

作者: 头条新闻

为您推荐