深入解析Excel万金油筛选公式“INDEX-SMALL-IF-ROW”
本文分享Excel用公式筛选完成一对多查找,是比较经典的excel筛选函数公式自动查找公式数据。
总是听到高手们说有个万金油公式,可到底什么是万金油公式,这个Excel公式又能干什么呢?不妨先看看下面这个效果图:
这个例子就是一个典型的一对多查找,查找条件是部门,在数据源内每个部门对应的都是多个数据,万金油公式最主要的用途就是用来解决一对多查找等一些相对复杂的问题。上面动画中的公式为:
=IFERROR(INDEX($A$2:$D$21,SMALL(IF($C$2:$C$21=$F$2,ROW($1:$20),99),ROW(A1)),MATCH(F$3,$A$1:$D$1,0)),"")
看到这个公式,或许很多朋友都会惊叹:这么长的公式,看不懂哇!
今天就和大家一同破解这个看不懂但又很强悍的公式套路,耐心往下看哦……
上面这个公式一共用了六个函数:IFERROR、INDEX、SMALL、IF、ROW和MATCH,其中的IFERROR和MATCH是本例中辅助性的两个函数,其余的四个INDEX-SMALL-IF-ROW就是万金油公式啦。
因此我们先来学习这个核心部分的原理:
F4单元格的公式为:
=INDEX($A$2:$A$21,SMALL(IF($C$2:$C$21=$F$2,ROW($1:$20),99),ROW(A1)))
先从INDEX说起,这个函数基本功能是给出一个区域,然后根据对应的行列位置返回查找结果,上图中INDEX查找的数据区域就是姓名所在的区域$A$2:$A$21。
INDEX函数的基本结构是:INDEX(查找区域,第几行,第几列),如果区域是单行或者单列的话,后面两个参数可以省略一个。通俗点说,你拿着电影票去找座位,整个大厅的座位就是区域,第几排第几座就是公式中的后面两个参数,通过这种方式可以准确找到目标位置。
在上面这个例子里,区域是在一列,所以我们只需要确定每个数据在第几行就行。
明白这一点的话,我们的重点就该放到INDEX的第二个参数了:
SMALL(IF($C$2:$C$21=$F$2,ROW($1:$20),99),ROW(A1))
注意看上面这个图,销售部一共有四条记录,分别在数据区域的第5、8、9和16行(数据区域是从第二行开始)。
因此我们希望公式下拉的时候,INDEX的第二个参数分别是5、8、9和16这四个数字(这一点一定要想明白)。
注意,接下来我们即将接触到万金油最核心的部分,请保持高度集中的注意力……
SMALL函数的基本结构:SMALL(一组数,第几小的数)
建议自己模拟个简单的数据来充分理解这个函数,方法如下:
在A列输入一些数字,公式的意思是这列数字中最小的一个,结果是2,很好理解对不对,将公式的第二个参数改成2,再看看结果:
倒数第二小的是4。
如果希望继续得到第三小的数,该怎么做我想大家都能想到,但是会有个问题,我们只能手动修改第二参数,并不能通过下拉来实现这个参数的变化,如果要想可以下拉的话,第二参数就需要用到ROW函数,也就是这样修改:
ROW函数非常简单,得到的就是参数的行号,通过这个公式,我们就把A列的数据从小到大排了个序,觉得有意思吗?
回到我们的万金油公式,5、8、9和16这四个数字代表什么意思还记得吧,我们需要用SMALL函数依次得到这四个数字,思路是通过判断C列是否与F2一致,如果一样得到行号,如果不一样,就得到一个比最大行号还大的数字(目的是为了防止被查找到):
要实现这个目的,就需要IF函数的介入,于是就有了:
IF($C$2:$C$21=$F$2,ROW($1:$20),99)
,用这一段来作为SMALL的第一个参数。
关于这段IF,就比较容易理解了,我们可以借助F9来看看这段公式的结果:
因为我们的数据就20个,所以IF的第三个参数使用99就足够了,如果数据量比较大的话,可以用9^9,表示9的9次方,反正足够大就行。
搞清楚这个IF的话,再来看这段SMALL(IF($C$2:$C$21=$F$2,ROW($1:$20),99),ROW(A1))
是不是就没那么晕了。
关于SMALL这部分,一定要明白是随着公式下拉的时候,逐个得到我们希望得到的那几个数字,然后用这些数字作为INDEX的第二参数,就可以得到最终需要的结果。
万金油的核心就是INDEX、SMALL、IF和ROW,请大家务必反复琢磨,把这部分原理搞清楚。还有非常重要的一点需要强调,万金油公式是一个数组公式,因此需要我们按着Ctrl和shift再回车。
至于一开始的公式,考虑到要查找多列的内容,所以INDEX的数据区域用的$A$2:$D$21,多列的时候,就需要提供列位置才能找到目标值,因此用MATCH(F$3,$A$1:$D$1,0)来确定数据在第几列。
每个部门的数据都不一样多,我们需要将公式多向下拉几行,这时候就会产生一些错误值,在公式的最外层使用IFERROR函数屏蔽了错误值,使得查询结果看起来非常干净。
今天只是使用了一对多查找这样一个例子来解释万金油公式的原理,实际上万金油的套路还有很多,大家喜欢的话以后继续分享相关的实例,当然,如果看完本文的话能够自己去解读一些复杂的公式就更好了。
相关学习推荐:excel教程
以上是深入解析Excel万金油筛选公式“INDEX-SMALL-IF-ROW”的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题











如果在打开一份需要打印的文件时,在打印预览里我们会发现表格框线不知为什么消失不见了,遇到这样的情况,我们就要及时进行处理,如果你的打印文件里也出现了此类的问题,那么就和小编一起来学习下边的课程吧:excel打印表格框线消失怎么办?1、打开一份需要打印的文件,如下图所示。 2、选中所有需要的内容区域,如下图所示。 3、单击鼠标右键,选择“设置单元格格式”选项,如下图所示。 4、点击窗口上方的“边框”选项,如下图所示。 5、在左侧的线条样式中选择细实线图样,如下图所示。 6、选择“外边框”

在日常办公中经常使用Excel来处理数据,时常遇到需要使用“筛选”功能。当我们在Excel中选择执行“筛选”时,对于同一列而言,最多只能筛选两个条件,那么,你知道excel同时筛选3个以上关键词该怎么操作吗?接下来,就让小编为大家演示一遍。第一种方法是将条件逐步添加到筛选器中。如果要同时筛选出三个符合条件的明细,首先需要逐步筛选出其中一个。开始时,可以先根据条件筛选出姓“王”的员工。然后单击【确定】,接着在筛选结果中勾选【将当前所选内容添加到筛选器】。操作步骤如下所示。 同样,再次分别执行筛选

在我们日常的工作学习中,从他人处拷贝了Excel文件,打开进行内容添加或重新编辑后,再保存的有时候,有时会提示出现兼容性检查的对话框,非常的麻烦,不知道Excel软件,可不可改为正常模式呢?那么下面就由小编为大家带来解决这个问题的详细步骤,让我们一起来学习吧。最后一定记得收藏保存。1、打开一个工作表,在工作表的名称中显示多出来一个兼容模式,如图所示。2、在这个工作表中,进行了内容的修改后保存,结果总是弹出兼容检查器的对话框,很麻烦看见这个页面,如图所示。 3、点击Office按钮,点另存为,然

e我们经常会用excel来制作一些数据表之类的,有时在输入参数数值时需要对某个数字进行上标或下标,比如数学公式就会经常用到,那么excel下标怎么打出来呢?我们一起来看看详细操作步骤:一、上标方法:1、首先Excel中输入a3(3为上标)。2、选中数字“3”,右键选择“设置单元格格式”。3、点击“上标”,然后“确定”即可。4、看,效果就是这样的。二、下标方法:1、与上标设置方法类似,在单元格中输入“ln310”(3为下标),选中数字“3”,右键选择“设置单元格格式”。2、勾选“下标”,点击“确定

在处理数据时,有时我们会遇到数据包含了倍数、温度等等各种符号的时候,你知道excel上标应该如何设置吗?我们在使用excel处理数据时,如果不会设置上标,这可是会让我们的很多数据在录入时就会比较麻烦。今天小编就为大家带来了excel上标的具体设置方法。1.首先,让我们打开桌面上的MicrosoftOfficeExcel文档,选择需要修改为上标的文字,具体如图所示。2.然后,点击右键,在点击后出现的菜单中,选择“设置单元格格式”选项,具体如图所示。3.接下来,在系统自动弹出来的“单元格格式”对话框

大部分用户使用Excel都是用来处理表格数据的,其实Excel还有vba程序编写,这个除了专人士应该没有多少用户用过此功能,在vba编写时常常会用到iif函数,它其实跟if函数的功能差不多,下面小编给大家介绍下iif函数的用法。Excel中SQL语句和VBA代码中都有iif函数。iif函数和excel工作表中的IF函数用法相似,执行真假值判断,根据逻辑计算的真假值,返回不同结果。IF函数用法是(条件,是,否)。VBA中的IF语句和IIF函数,前者IF语句是控制语句可以根据条件执行不同的语句,后者

在软件的学习中,我们习惯用excel,不仅仅是因为需要方便,更因为它可以满足多种实际工作中需要的格式,而且excel运用起来非常的灵活,有种模式是方便阅读的,今天带给大家的就是:excel阅读模式在哪里设置。1、打开电脑,然后再打开Excel应用,找到目标数据。2、要想在Excel中,设置阅读模式,有两种方式。第一种:Excel中,有大量的便捷处理方式,分布在Excel中布局中。在Excel的右下角,有设置阅读模式的快捷方式,找到十字标志的图案,点击即可进入阅读模式,在十字标志的右边有一个小的三

1、打开PPT,翻页至需要插入excel图标的页面。点击插入选项卡。2、点击【对象】。3、跳出以下对话框。4、点击【由文件创建】,点击【浏览】。5、选择需要插入的excel表格。6、点击确定后跳出如下页面。7、勾选【显示为图标】。8、点击确定即可。
