vlookup函数我们都知道它可以实现数据的查询操作,但是当我们需要一对多查询数据的时候就会显得非常的无力。今天我们就来学习一下,如何通过vlookup函数轻松的实现一对多数据查询。
![53d1b6e7bf08b37bcab324d390892e49.png](https://i-blog.csdnimg.cn/blog_migrate/2a925ae47910efc409a49aa364e29e52.jpeg)
如上图,我们需要通过对应的部门来查询当前部门所有人的数据。下面我们就来看一下效果图是怎么样实现的。
![0003d7755bfadd96810ffd349df1c4de.gif](https://i-blog.csdnimg.cn/blog_migrate/2c9915e2ec937910ff2307464fe33a29.gif)
【效果图】
如上效果图,我们在数据查询界面,单独选择对应的部门的时候,查询界面会自动的显示出当前部门所有人员情况,从而实现数据的一对多查询。下面我们来学习一下具体的操作步骤。
第一步:首先在数据源部分做辅助列,用序号和部门产生一个新的辅助值,如下图所示:
函数=COUNTIF(C$2:C2,C2)&C2,这里的意思是单独的生成每个部门出现的个数,并将部门名称进行连接,从而形成序号加部门的辅助值,方便后面用vLookup函数进行查找。
![a136eb184e74fa4462bd6472ecefe851.png](https://i-blog.csdnimg.cn/blog_migrate/b4e0dfa17015b340f8c26ff9796e6a33.jpeg)
第二步:在数据查询界面部门右边,用countif函数计算出对应部门的人数,方便第三步用row函数生成查询界面的序号。如下图:
![57e0efa635040d2fff88f4e2e7f19ff5.png](https://i-blog.csdnimg.cn/blog_migrate/4c90a754834d664ee0bc75f0a685c78b.jpeg)
第三步:查询界面序号的列中输入以下函数,自动根据部门人数生成对应的序号。
IF((ROW(A2)-1)<=$H$2,(ROW(A2)-1),"")
![f71abe9d164ec9e0a790e087c7a0f6e8.png](https://i-blog.csdnimg.cn/blog_migrate/345ceb52598eb6b86670270056da7f64.jpeg)
函数代表的意思是,当右边的部门人数大于我们的序号的值的时候,则显示对应的序号。如果出现人数为0的时候则不显示序号内容,以空值来代替。
第四步:根据新生成的序号和下拉选择的部门两个条件,用&符号连接后形成新的查找值,从而查询出对应的部门、姓名、性别还有出生年月日等信息。
![fafe2982420f144fa2f98bf58f70da5e.png](https://i-blog.csdnimg.cn/blog_migrate/7759d74347e2f80a99048c0bcfc75e8d.jpeg)
函数如下:
IFERROR(VLOOKUP($A2&$G$2,数据源!$B:$F,COLUMN(查询界面!B2),0),"")
函数解析:
1、iferror的作用在这里体现的是当出现查询错误值的时候,用空白内容代替;
2、vlookup函数第一参数用&符号连接,形成多条件查询条件值;
3、vlookup函数第三参数column函数主要为在拖动的时候,自动生成查询内容所在的列内容。
现在你学会如何使用vlookup函数进行一对多数据查询了吗?让你的管理可以变得更加轻松。