这次教程有点难,实现一对多查询,这或许是最经典的方法了

这次教程有点难,实现一对多查询,这或许是最经典的方法了这次教程有点难,实现一对多查询,这或许是最经典的方法了详解index+small+if一对多查询,或许有点难,但真的很实用

大家好,欢迎来到IT知识分享网。

Hello,大家好,当我们使用vlookup函数查找数据遇到重复值得时候,函数仅仅会返回第一个查找到的结果,但是在日常的工作中我们经常要根据一个值来查找到多个结果,这个时候vlookup函数就不能满足我们需求了,今天就跟大家分享下在excel中如何实现一对多查询

这次教程有点难,实现一对多查询,这或许是最经典的方法了

如下图,我们想要根据部门,将相同部门的人都放在一行中,只需要点击表格中的第一个单元格,输入公式

=IFERROR(INDEX($B:$B,SMALL(IF($A:$A=$F2,ROW($A:$A)),COLUMN(A1))),””)&””

按ctrl+shift+回车向右向下拖拉公式即可快速完成,在这里我们就是通过查找部门来快速的返回多个结果

这次教程有点难,实现一对多查询,这或许是最经典的方法了

下面跟大家详细的讲解下这个公式是如何理解在,在这里我们利用数组公式来完成查找的,函数是以index函数为主体来返回结果,

Index函数

第一参数:$B:$B,就是我们要返回的结果列 第二参数:SMALL(IF($A:$A=$F2,ROW($A:$A)),COLUMN(A1))),使用small函数来获取查找值的具体位置 

在这里我们主要来理解下small函数,small函数的作用是返回一组数据中从小到大的第n个值,他的参数一共有两个,第一参数:数据区域,第二参数:数据区域的位置(从小到大)

在这里Small函数在公式中的参数为

第一参数:IF($A:$A=$F2,ROW($A:$A))

第二参数:COLUMN(A1))

在IF($A:$A=$F2,ROW($A:$A))中,我们使用if函数来判断A列的数据是不是等于f2单元格,也就是行政部,,如果a列的单元格等于行政部就让函数返回等于行政部位置的行号,在这里我们省略了if函数的第三参数,当条件不正确的时候函数就会返回false,他的结算结果如下图

这次教程有点难,实现一对多查询,这或许是最经典的方法了

因为small函数会自动将false这个结果忽略掉,所以现在small函数的第一参数仅仅包括3,5,7,9,17,这5个数据,因为我们在行方向上拖动数据的,所以我们使用COLUMN(A1))来构建一个从1开始的序列,这样的话我们就能分别将这5个列号提取出来,将提取出来的列号作为index的第二参数来返回对应的结果

这次教程有点难,实现一对多查询,这或许是最经典的方法了

然后我们使用IFERROR来将错误值屏蔽掉错误值,最后在公式的最后使用链接符号链接上一个空值,是为了避免当我们的查找值为空的时候函数返回0

以上就是这个index+small+if函数的计算过程,怎么样,你学会了吗?

我是excel从零到一,关注我持续分享更多excel技巧

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/56867.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信