谁让你不会excel万金油公式
发布时间:2022-03-26 00:57:01
总是听到高手们说有个万金油公式,可到底什么是万金油公式,这个公式又能干什么呢?不妨先看看下面这个效果图:
这个例子就是一个典型的一对多查找,查找条件是部门,在数据源内每个部门对应的都是多个数据,万金油公式最主要的用途就是用来解决一对多查找等一些相对复杂的问题。上面动画中的公式为:
=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,但是都不了解Excel数组公式,就不能认为已经掌握了Excel。数组公式是Excel功能量强大的计算公式
- 如今的中小学教学过程中,生动的课堂课件极其重要。“特别是历史、地理等文科科目,需要有图文并茂的课件更容易吸引学生的注意力,从而提高学生课堂上
- 深色模式是 macOS 中的一项出色功能,可将原本浅色的用户界面转换为深色版本。它的推出受到欢迎的原因有很多,包括希望桌面比macOS 以前
- 4月7日凌晨,微软向Windows Insider用户推送了14316更新。本次更新为微软开发者大会后首个Win10年度更新,本次更新也加入
- ExpanDrive 是一款将云存储、云盘、服务器、ftp、webDav快速挂载为本地磁盘的工具,通过ExpanDrive映射后,你可以使用
- Excel中的表头该如何进行设计呢?下面是小编带来的关于excel2003设计表头的教程,希望阅读过后对你有所启发!excel2003设计表
- 验证码是自动区分计算机和人类的图灵测试的缩写,是一种区分用户是计算机和人的全自动程序。有时候我们在网页登录某些账号时,会被要求填写验证码。但
- 如何在支付宝忘刮奖后重新刮奖?大家都知道支付宝在付款后会出现一个刮奖的界面,但是有些时候会因为某些原因将刮奖界面给关掉了,那么问题来了,当刮
- 近期有用户在咨询Win7的系统的补丁包无法卸载,怎么操作都是卸载失败,那么遇到这种情况该如何进行解决呢?一起来看看解决方法吧。操作方法:1、
- 很多小伙伴不知道WPS怎样设置日历模板。WPS如何设置日历模板?具体教程可以参考下文。下面小编为大家介绍一下WPS设置日历模板方法
- 1.如果你经常打开某些文档,而且又在意工作效率,在Excel的操作中,若用户使用相同的工作簿,那么可以将这些工作簿都保存在2.如果你使用of
- 剪映是一款非常好用的视频剪辑软件,可以根据用户的需求添加音乐、滤镜、字幕等等,满足用户的不同视频制作需求。但是制作好的视频上往往都会带有水印
- Win10升级助手是腾讯官方发布的一键升级Win10系统的工具,要升级Win10的用户就可以下载这个升级助手等Win10发布后快速升级。近期
- win10系统音频管理器总是弹出怎么关闭?win10系统是一个问题较多的操作系统,而且遇到的问题是多方面的,比如有的用户遇到了经常弹出rea
- 在日常办公中,为了提高工作效率,我们经常会在wps文字中设置自动套用格式功能,如果我们不想使用该功能,应该怎样取消呢?对于新手来说还是有一定
- 对于手机版本的wps,大家可能还不太熟悉,还不知道如何使用手机wps来制作表格,下面就让小编告诉你如何使用手机wps电子表格的制作方法。手机
- 绝对比色是PS软件中意图的一种颜色设置,能够帮助用户在打样设备上模拟出最终输出设备的复制效果,但很多用户在使用PS这个软件的时候不清楚要如何
- 最近有windows7系统用户反映Win7系统经常出现蓝屏提示错误代码0x0000007a,这是怎么回事呢?通过分析,极有可能是硬盘或内存故
- 很多时候我们电脑文件多了,东放一块西放一块,最后自己也不知道放哪去了。这时候怎么找,一个磁盘的翻,一个文件夹的找?或者利用Windows自带
- 步骤如下:1、下载安装好easyBC,启动应用;2、选择“添加新条目”;3、在右侧的操作系统中选择“Linux/BSD”,在类型中选择“GR