EXCEL技巧:万金油公式

2023-02-11 16:59:27 42点赞 343收藏 9评论

Excel中有一个几乎“万能”的函数组合,她就是Index+small+if+row组合,也称为“万金油的组合公式”。在日常工作中的应用非常广泛,今天我们就来了解这个万金油公式。

很多朋友在Excel中用公式做查询的时候,都必然会遇到的一个麻烦问题:那就是一对多的查找问题。

大多数朋友做查询都是从vlookup、index-match组合入门的,然而遇到一对多查询的时候,如果不加辅助列,往往会束手无策,今天我们要讨论的Index+small+if+row组合,就是专门解决一对多查询的一个通用公式。

如果你能完全掌握这个思路的话,不夸张的说,在Excel中基本上就没有什么查询可以难住你了 。好了,言归正传,先看一个效果图,到底一对多查询是怎样的:

EXCEL技巧:万金油公式

其中的公式是:=IFERROR(INDEX($A$1:$C$15,SMALL(IF($A$1:$A$15=$E$2,ROW($B$1:$B$15),10^3),ROW(B1)),COLUMN(B1)),"")

不过要想彻底理解这个公式,还得有一些储备知识,例如简单的数组应用,index、small、if和row这几个函数的基本用法也是要了解的。在之前的文章中,index、if、row函数都有介绍过。在这里也提一下:

首先,来看下index函数,这个函数基本功能是给出一个区域,然后根据对应的行列位置返回查找结果,index一共需要三个参数,第一个参数是数据范围,刚才说了,第三个参数是要查找的内容位于这个范围的第几列,本例中因为要对应查找三列数据,并且列的位置是对应的,所以用了column函数,如下图所示:三个红色的框,第一个是数据范围,第二个是第几行,第三个是第几列。

EXCEL技巧:万金油公式

其中最难理解的就是第2个参数。接下来我们来展开第2个参数。这个参数的作用是要查找的内容位于数据区域的第几行,如果是一对一的查找,我们可以指定行号或者用match函数来取得行号,但这里是一对多,例如部门是蜀汉的,分别对应了五个行号,如下图所示:

EXCEL技巧:万金油公式

重要提醒:对这五行数据在表格中的行号我特别标注出来了,分别是2、3、11、12和15,但请注意一点,如果index第一参数所给到的区域并不是从第一行开始的,那么得根据第一参数的区域内的行数。假如第一个参数是从第2行开始的话,那么对应的行数将减去1,分别是1、2、10、11、14。

实际上,这五个数据在index给到的范围中,分别位于第2、3、11、12和15行,也就是我们希望得到的结果。

对于蜀汉

第一次出现时应该是index(数据范围,2,列位置);

第二次出现时应该是index(数据范围,3,列位置);

第三次出现时应该是index(数据范围,11,列位置);

第四次出现时应该是index(数据范围,12,列位置);

第五次出现时应该是index(数据范围,15,列位置);

。。。。。。

从上面来看,其中发生改变的就是第2个参数,行数在发生变化。

这就是一对多的核心,请务必理解。

为了将这一想法变成结果,就出来了small+if+row,而这三个函数的组合实际上才是真正的万金油!

接下来我们来看small函数

其函数结构是SMALL(array,k),k 为返回的数据在数组或数据区域里的位置(从小到大),array查找的数据区域。也就是第k个最小的位置

Small函数的作用是在给出的一组数据中挑出指定的第几个最小值,第一个参数是一组数字,第二个参数是一个数字。来我们来看下面这个动图

EXCEL技巧:万金油公式

图中有9个数,分别是1,2个2, 2个3,2个5,6、8.

如果公式是=SMALL(A$1:A$9,1),则返回第一个最小值1

如果公式是=SMALL(A$1:A$9,2),则返回第二个最小值2

如果公式是=SMALL(A$1:A$9,3),则返回第三个最小值2

如果公式是=SMALL(A$1:A$9,4),则返回第四个最小值3

如果公式是=SMALL(A$1:A$9,5),则返回第五个最小值3

如果公式是=SMALL(A$1:A$9,6),则返回第六个最小值5

这也是上图中显示的结果。

注意,这里的第二参数我们是手动输入的,因为把第一个公式下拉的话,第二参数1是不会变的,如果需要第二参数会自己变,就需要借助ROW函数!(row出现)看下图

EXCEL技巧:万金油公式

这是一个公式下拉的结果,好像是对A列进行了排序一样的效果,有点意思吧~~~

说完row函数后。我们整体来看下这个公式中

我们想要的是2、3、11、12和15行,要通过small得到这几个数字,有个思路就是:

部门是蜀汉的,按对应的行号标注;

不是蜀汉的,都看作比数据中最大的行数要大的数(这个数其实是行号,因为一共15个数)。

而要实现这个目的,只能通过if实现。

(IF($A$1:$A$15=$E$2,ROW($B$1:$B$15),10^3),之前的公众号文章中也有介绍IF函数的,if函数的基本逻辑,想必大家也比较清楚,标黄色部分的意思是给定的区域数据,是否等于E2的值,如果是的话,将返回 ROW($B$1:$B$15),否则就返回10^3(这个数只要比数据的行数大即可,为了不超过数据区域最大的行数,这里往往是写的比较大的数据)

我们来看看IF($A$1:$A$15=$E$2,ROW($B$1:$B$15),10^3)这一段的运算结果吧:

EXCEL技巧:万金油公式

从上图中,你注意到2、3、11、、12和15了吗?

到这里,small函数的这部分是不是明白了,也就是index函数的第2个参数。

如果明白了,我们接着来看。将small函数代入到index函数中,就是我们看到的公式=INDEX($A$1:$C$15,SMALL(IF($A$1:$A$15=$E$2,ROW($B$1:$B$15),10^3),ROW(B1)),COLUMN(B1))

百科Microsoft 微软 OFFICE 365 个人版 办公软件Office 365是微软推出的订阅式软件服务,订阅用户可以收到最新的Office更新,更新推送的速度比Office 2016这类一次性购买的版本要更快,且可以跨版本(如2016年年底购买,17年年中Office 2017发布,Office 365订阅用户可升级至最新的版本)。Office 365的另一特性是云端同步,基于OneDrive云存储,可以在多地、多台设备上访问文档、联机编辑,无需本地备份、U盘拷贝。包含Word、Excel、PowerPoint、OneNote、Outlook、Publisher、Access、OneDrive完整套装,非常适合移动办公、多台办公设备的用户。个人版可支持1个用户使用,最多5台设备,1TB OneDrive 容量。 0 点评3 原创0 好价164去购买查看详情

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起

Microsoft 微软 OFFICE 365 家庭版 会员

Microsoft 微软 OFFICE 365 家庭版 会员

238元起

Microsoft 微软 OFFICE 365 个人版 办公软件

Microsoft 微软 OFFICE 365 个人版 办公软件

199元起

365office365OfficePLUS Microsoft365 12 -

365office365OfficePLUS Microsoft365 12 -

235元起

Microsoft 微软 office365家庭版个人版激活密钥office2021账户激活

Microsoft 微软 office365家庭版个人版激活密钥office2021账户激活

199元起

Microsoft 微软 365 家庭版 电子秘钥 正版高级Office应用 1T云存储

Microsoft 微软 365 家庭版 电子秘钥 正版高级Office应用 1T云存储

279元起

Microsoft 微软 Office 2019 家庭学生版 密钥

Microsoft 微软 Office 2019 家庭学生版 密钥

159元起

微软(Microsoft))win10win11专业版批量式授权企业版嵌入式正版化解决方案win11家庭版

微软(Microsoft))win10win11专业版批量式授权企业版嵌入式正版化解决方案win11家庭版

1288元起

Microsoft 微软 在线发 office365个人版续费新订microsoft365个人版

Microsoft 微软 在线发 office365个人版续费新订microsoft365个人版

195元起

微软(Microsoft)一次付费 正版office2021家庭学生终激活码身永2019久适用W1011 Office2021家庭和学生版盒装密钥

微软(Microsoft)一次付费 正版office2021家庭学生终激活码身永2019久适用W1011 Office2021家庭和学生版盒装密钥

暂无报价

微软 Office365(现已升级Microsoft365)家庭版正版一年新订或续费 6用户多设备 365 家庭版在线发送+电子发票

微软 Office365(现已升级Microsoft365)家庭版正版一年新订或续费 6用户多设备 365 家庭版在线发送+电子发票

289元起

微软(Microsoft)一次付费 正版office2021家庭学生终激活码身永2019久适用W1011 2021家庭和学生版 win10/11

微软(Microsoft)一次付费 正版office2021家庭学生终激活码身永2019久适用W1011 2021家庭和学生版 win10/11

暂无报价

Microsoft 微软 OfficePLUS 月卡 PPT AI神器 海量模版 办公笔记本电脑必备

Microsoft 微软 OfficePLUS 月卡 PPT AI神器 海量模版 办公笔记本电脑必备

暂无报价

Microsoft 微软 年终活动 正版office2019终身版office永久激活码

Microsoft 微软 年终活动 正版office2019终身版office永久激活码

暂无报价

微软Windows server 2019客户端 UsrCAL(R18-05776)

微软Windows server 2019客户端 UsrCAL(R18-05776)

暂无报价

Microsoft 微软 正版office2021终身永久使用

Microsoft 微软 正版office2021终身永久使用

暂无报价

微软 Microsoft 365 家庭版 彩盒包装 | 1年订阅 至多6人 正版高级Office应用 1T云存储 PC/Mac/移动设备通用

微软 Microsoft 365 家庭版 彩盒包装 | 1年订阅 至多6人 正版高级Office应用 1T云存储 PC/Mac/移动设备通用

498元起

文中相关商品

Microsoft 微软 OFFICE 365 个人版 办公软件
9评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
343
扫一下,分享更方便,购买更轻松