深入解析Excel万金油筛选公式“INDEX-SMALL-IF-ROW”

wufei123 2024-05-24 阅读:6 评论:0
本文分享excel用公式筛选完成一对多查找,是比较经典的excel筛选函数公式自动查找公式数据。 总是听到高手们说有个万金油公式,可到底什么是万金油公式,这个Excel公式又能干什么呢?不妨先看看下面这个效果图: 这个例子就是一个典型的...

本文分享excel用公式筛选完成一对多查找,是比较经典的excel筛选函数公式自动查找公式数据。

深入解析Excel万金油筛选公式“INDEX-SMALL-IF-ROW”

总是听到高手们说有个万金油公式,可到底什么是万金油公式,这个Excel公式又能干什么呢?不妨先看看下面这个效果图:

Excel万金油公式INDEX-SMALL-IF-ROW筛选函数公式解读

这个例子就是一个典型的一对多查找,查找条件是部门,在数据源内每个部门对应的都是多个数据,万金油公式最主要的用途就是用来解决一对多查找等一些相对复杂的问题。上面动画中的公式为:

=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)))

excel自动查找公式

先从INDEX说起,这个函数基本功能是给出一个区域,然后根据对应的行列位置返回查找结果,上图中INDEX查找的数据区域就是姓名所在的区域$A$2:$A$21。

INDEX函数的基本结构是:INDEX(查找区域,第几行,第几列),如果区域是单行或者单列的话,后面两个参数可以省略一个。通俗点说,你拿着电影票去找座位,整个大厅的座位就是区域,第几排第几座就是公式中的后面两个参数,通过这种方式可以准确找到目标位置。

在上面这个例子里,区域是在一列,所以我们只需要确定每个数据在第几行就行。

明白这一点的话,我们的重点就该放到INDEX的第二个参数了:

SMALL(IF($C$2:$C$21=$F$2,ROW($1:$20),99),ROW(A1))

excel用公式筛选

注意看上面这个图,销售部一共有四条记录,分别在数据区域的第5、8、9和16行(数据区域是从第二行开始)。

因此我们希望公式下拉的时候,INDEX的第二个参数分别是5、8、9和16这四个数字(这一点一定要想明白)。

注意,接下来我们即将接触到万金油最核心的部分,请保持高度集中的注意力……

SMALL函数的基本结构:SMALL(一组数,第几小的数)

建议自己模拟个简单的数据来充分理解这个函数,方法如下:

excel筛选函数公式

在A列输入一些数字,公式的意思是这列数字中最小的一个,结果是2,很好理解对不对,将公式的第二个参数改成2,再看看结果:

Excel教程

倒数第二小的是4。

如果希望继续得到第三小的数,该怎么做我想大家都能想到,但是会有个问题,我们只能手动修改第二参数,并不能通过下拉来实现这个参数的变化,如果要想可以下拉的话,第二参数就需要用到ROW函数,也就是这样修改:

深入解析Excel万金油筛选公式“INDEX-SMALL-IF-ROW”

ROW函数非常简单,得到的就是参数的行号,通过这个公式,我们就把A列的数据从小到大排了个序,觉得有意思吗?

回到我们的万金油公式,5、8、9和16这四个数字代表什么意思还记得吧,我们需要用SMALL函数依次得到这四个数字,思路是通过判断C列是否与F2一致,如果一样得到行号,如果不一样,就得到一个比最大行号还大的数字(目的是为了防止被查找到):

深入解析Excel万金油筛选公式“INDEX-SMALL-IF-ROW”

要实现这个目的,就需要IF函数的介入,于是就有了:

IF($C$2:$C$21=$F$2,ROW($1:$20),99),用这一段来作为SMALL的第一个参数。

关于这段IF,就比较容易理解了,我们可以借助F9来看看这段公式的结果:

深入解析Excel万金油筛选公式“INDEX-SMALL-IF-ROW”

因为我们的数据就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”的详细内容,更多请关注知识资源分享宝库其它相关文章!

版权声明

本站内容来源于互联网搬运,
仅限用于小范围内传播学习,请在下载后24小时内删除,
如果有侵权内容、不妥之处,请第一时间联系我们删除。敬请谅解!
E-mail:dpw1001@163.com

分享:

扫一扫在手机阅读、分享本文

发表评论
热门文章
  • 华为 Mate 70 性能重回第一梯队 iPhone 16 最后一块遮羞布被掀

    华为 Mate 70 性能重回第一梯队 iPhone 16 最后一块遮羞布被掀
    华为 mate 70 或将首发麒麟新款处理器,并将此前有博主爆料其性能跑分将突破110万,这意味着 mate 70 性能将重新夺回第一梯队。也因此,苹果 iphone 16 唯一能有一战之力的性能,也要被 mate 70 拉近不少了。 据悉,华为 Mate 70 性能会大幅提升,并且销量相比 Mate 60 预计增长40% - 50%,且备货充足。如果 iPhone 16 发售日期与 Mate 70 重合,销量很可能被瞬间抢购。 不过,iPhone 16 还有一个阵地暂时难...
  • 惠普新款战 99 笔记本 5 月 20 日开售:酷睿 Ultra / 锐龙 8040,4999 元起

    惠普新款战 99 笔记本 5 月 20 日开售:酷睿 Ultra / 锐龙 8040,4999 元起
    本站 5 月 14 日消息,继上线官网后,新款惠普战 99 商用笔记本现已上架,搭载酷睿 ultra / 锐龙 8040处理器,最高可选英伟达rtx 3000 ada 独立显卡,售价 4999 元起。 战 99 锐龙版 R7-8845HS / 16GB / 1TB:4999 元 R7-8845HS / 32GB / 1TB:5299 元 R7-8845HS / RTX 4050 / 32GB / 1TB:7299 元 R7 Pro-8845HS / RTX 2000 Ada...
  • 酷凛 ID-COOLING 推出霜界 240/360 一体水冷散热器,239/279 元

    酷凛 ID-COOLING 推出霜界 240/360 一体水冷散热器,239/279 元
    本站 5 月 16 日消息,酷凛 id-cooling 近日推出霜界 240/360 一体式水冷散热器,采用黑色无光低调设计,分别定价 239/279 元。 本站整理霜界 240/360 散热器规格如下: 酷凛宣称这两款水冷散热器搭载“自研新 V7 水泵”,采用三相六极马达和改进的铜底方案,缩短了水流路径,相较上代水泵进一步提升解热能力。 霜界 240/360 散热器的水泵为定速 2800 RPM 设计,噪声 28db (A)。 两款一体式水冷散热器采用 27mm 厚冷排,...
  • Nginx服务器的HTTP/2协议支持和性能提升技巧介绍

    Nginx服务器的HTTP/2协议支持和性能提升技巧介绍
    Nginx服务器的HTTP/2协议支持和性能提升技巧介绍 引言:随着互联网的快速发展,人们对网站速度的要求越来越高。为了提供更快的网站响应速度和更好的用户体验,Nginx服务器的HTTP/2协议支持和性能提升技巧变得至关重要。本文将介绍如何配置Nginx服务器以支持HTTP/2协议,并提供一些性能提升的技巧。 一、HTTP/2协议简介:HTTP/2协议是HTTP协议的下一代标准,它在传输层使用二进制格式进行数据传输,相比之前的HTTP1.x协议,HTTP/2协议具有更低的延...
  • 两个表格切换的快捷键是什么

    两个表格切换的快捷键是什么
    两个表格切换的快捷键是“ctrl+pageup”和“ctrl+pagedown”,按键盘上的“ctrl+pageup”键是向右切换表格,按“ctrl+pagedown”键是向左切换表格。 本教程操作环境:windows7系统、Microsoft Office Excel2010版、Dell G3电脑。 两个工作表之间切换是Ctrl+Tab,两个工作簿之间切换是Ctrl+PageUP和Ctrl+PageDown。 打开Excel表格,打开几个工作簿。 按键盘上的Ctrl+P...