分享

有重复值又如何?VLOOKUP同样轻松查找!

 网摘文苑 2019-03-16

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

有重复值又如何?VLOOKUP同样轻松查找!

VLOOKUP重复值查找

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

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

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

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

有重复值又如何?VLOOKUP同样轻松查找!

VLOKKUP函数基础属性

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

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

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

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

  1. 改造源数据,构造辅助列把部门变成唯一索引值

  2. 用VLOOKUP函数完成查找匹配

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

用COUNTIF构造辅助列

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

我们用

COUNTIF($C$9:C10,C10)

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

有重复值又如何?VLOOKUP同样轻松查找!

编号

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

C10&COUNTIF($C$9:C10,C10)

有重复值又如何?VLOOKUP同样轻松查找!

索引列构造

用VLOOKUP完成查询

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

ROW(1:1)

有重复值又如何?VLOOKUP同样轻松查找!

ROW函数编码

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

$I$10&ROW(1:1)

有重复值又如何?VLOOKUP同样轻松查找!

查询表编码

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

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

有重复值又如何?VLOOKUP同样轻松查找!

VLOOKUP完成查询

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

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

有重复值又如何?VLOOKUP同样轻松查找!

IFERROR美化

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


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多