当我们使用vlookup查找数据的时候,如果查找值有重复值,函数仅仅会返回第一个查找到的结果,今天跟大家分享下我们如何打破vlookup的限制,来通过查找一个相同的值,返回多个结果。操作非常简单只需添加一列辅助列即可
一、构建辅助列
如上图,我们想要通过查找1班来查找1班所有的姓名,首先我们需要在班级前面插入一个辅助列,然后在辅助列中输入公式:=(B2=$F$2)+A1,在这里B2就是第一个班级的位置,F2就是我们的查找值,我们让这两个值相等然后再加上A1,这么做的作用是当遇到为1班的人员的时候,这个值就会自动的增加1如下图
二、构建函数
紧接着我们在查找区域输入函数:=IFERROR(VLOOKUP(ROW(A1),A:C,3,0),""),然后点击回车向下拖动即可获得所有1班的姓名,下面跟大家简单的讲解下这个函数,我们先来看下vlookup函数的参数
第一参数:ROW(A1),查找值,在这里我们使用row函数来构建一个序列
第二参数:A:C,查找的数据区域
第三参数:3,因为在这个新区域中我们要查找的结果在第三列
第四参数:0精确匹配
在第一步中我们添加了一个辅助列,他的特点是没当遇到1班就会增加1,其实就相当于构建了一个从1开始的序列来对应1班所有的姓名,所有我们可以使用row函数来构建一个从1开始的序列,将它作为查找值,来查找数据,在这里IFERROR函数的作用是用来屏蔽错误值的
有人会说我直接筛选不是更快吗,我们使用函数的好处就是可以实现自动的获取数据,比如现在我们想获取2班的数据,只需要将1班更改为2班即可,如果使用筛选的话,还需要取消后再筛选,这个就是他的方便之处
怎么样?你学会了吗?
我是excel从零到一,关注我持续分享更多excel技巧