Excel中的一对多查找,Vlookup+Countif函数妙用

之前有给大家介绍过多元素对应的相同内容拆分,这种数据的形式是多个对1个,具体可看下如下内容:

多元素对应相同内容拆分,多种方法详解

1对多时,要怎么进行查找呢,比如如下数据,我们想查询人事部的人员名单,如果使用公式要怎么实现呢

图片[1]-Excel中的一对多查找,Vlookup+Countif函数妙用-职比牛办公资源网

首先我们可以先增加一栏辅助列,可以更方便我们计算

首先在A2单元格输入公式:

=B2&COUNTIF($B$2:B2,B2)

图片[2]-Excel中的一对多查找,Vlookup+Countif函数妙用-职比牛办公资源网

公式详解:

Countif函数的功能主要是实现条件计数,计数的区域是$B$2:B2,条件是B2,

代表的是统计B2在列$B$2:B2中出现的的次数,区域第一个B2是绝对引用,当到A5单元格的时候,公式变更为如下图:

图片[3]-Excel中的一对多查找,Vlookup+Countif函数妙用-职比牛办公资源网

此意味着当我们对部门出现的次数进行统计,再和部门合并,即实现了唯一值,如上面的采购部1、采购部2

当我们把数据唯一化的时候,下面就相对简单了,我们再使用Vlookup进行查找即可实现

首先我们在J2输入公式:

=IFERROR(VLOOKUP($I$2&ROW(A1),$A$1:$F$31,4,0),””)

图片[4]-Excel中的一对多查找,Vlookup+Countif函数妙用-职比牛办公资源网

公式讲解:

Vlookup查找的是:

$I$2&ROW(A1):代表I2的内容和行数结合,比如ROW(A1)=1,输出的结果为人事部1,若ROW(A2),即为人事部2,依次累计;

$A$1:$F$31: 代表查找的区域;

4: 代表需要输出的数据在查找的区域的第几列;

0:代表精确匹配

IFERROR(value, value_if_error)

表示判断value的正确性,如果value正确则返回正确结果,否则返回value_if_error。

其中value的错误格式有#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME?、#NULL等。

公式内容为判定Vlookup查找的是否正确,如果正确就显示,如果错误值时以“”空值替代

同样的对入职时间查找,我们只需要变更Vlookup查找的区域列数即可

=IFERROR(VLOOKUP($I$2&ROW(A1),$A$1:$F$31,6,0),””)

图片[5]-Excel中的一对多查找,Vlookup+Countif函数妙用-职比牛办公资源网

注意当输出时间内容的时候,需要把时间列的单元格格式变更为日期格式,否则会输出为数字。

在进行上面计算的时候,当我们对J列和K列进行查找的时候,需要修改公式,有没有办法不修改公式,一次实现呢,那当然可以的,这时就可以使用Match函数了

首先只要我们在J2输入公式:

=IFERROR(VLOOKUP($I$2&ROW(A1),$A$1:$F$31,MATCH(J$1,$A$1:$G$1,0),0),””)

这时我们就可以对公式随意拖动,再不需要变更公式了

这个函数你知道具体代表的什么含义吗?在下方留言说说你的答案吧

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容