终究没有人在意一家民营企业的生死

去泰国看了一场“成人秀”,画面尴尬到让人窒息.....

【少儿禁】马建《亮出你的舌苔或空空荡荡》

网友建议:远离举报者李X夫!

10部适合女性看的唯美情色电影

生成图片,分享到微信朋友圈

自由微信安卓APP发布,立即下载! | 提交文章网址
查看原文

再见VLOOKUP!查找数据,这个简单高效的函数好用到爆!(下)

农夫 秋叶Excel 2022-06-30
0点击蓝字【秋叶 Excel】👆
发送【UP】
免费领 13 篇 Vlookup 教程合集!

本文作者:农夫
本文审核:玛奇鹅
本文编辑:雅梨子、竺兰


小伙伴们,大家好!

我是农夫,专治「疑难杂数」的农夫~

之前的一篇文章,我们已经为大家介绍了 INDEX 函数的基本使用方法,如果还没有看的小伙伴可以点击下方的传送门来看哦~

《传送门》

之前我们已经说到,很多小伙伴在处理各种数据的查找引用时,会使用 Vlookup 函数,但在实际应用中,Vlookup 函数也存在一定的不足。

其中,最为明显的是 Vlookup 函数反向查询能力。

即当返回的结果列在查找区域前面,Vlookup 函数常规使用方法就不再适用了。

解决的办法是结合 IF 函数将两列数据进行调换,构建成常规数据查询,才能正确查找数据。


具体写法为:
=Vlookup(查找值,IF({1,0}, 查找列, 返回列), 2, 0)

其中,{1,0}作用是调换两列数据的位置。

即将第二列的课程名提到第一列,第一列的姓名换到第二列。


而应对这种情况,使用 INDEX 函数就显得比较方便了。

然而很多小伙伴反映在实际使用中,INDEX 函数好像并不是很好用。

其实,并非 INDEX 函数不好用,而是我们没有用正确的方式来打开它~

那么,今天我就为大家介绍 INDEX 函数的正确打开方式——INDEX 函数+其他函数组合。

如果我们学会 INDEX 函数与其他函数的灵活组合,尤其是与 MATCH 函数组合使用,其不仅能够完成 VLOOKUP 函数的全部查找功能;

而且还能实现任意方向的查询、多条件查询等复杂数据查找和引用需求。


下面就让我们来看下吧~

正向与反向查询



先来看下 INDEX 函数与 MATCH 函数这对「黄金搭档」最经典的应用——正向与反向查询。

反向查询通常是查找的结果信息位于所需查找条件列的前面。

这两种查询的本质都是将 INDEX 函数中的行号或列号用 MATCH 函数的返回结果来替代。

这对于我们理解 INDEX 函数和 MATCH 函数的组合使用也很有帮助。

比如,我们要查找秋石同学所学的课程名称是什么。


这里可以直接使用 INDEX+MATCH 函数。

具体公式如下:
=INDEX(B1:B15,MATCH(D4,A1:A15,0))

公式解析:
❶ MATCH(D4,A1:A15,0)

先利用 MATCH 函数,查找 D4 单元格的「秋石」在 A1:A15 区域中所处的位置,得到结果为 11。

❷ INDEX(B1:B15,❶)

然后,利用 INDEX 函数,在 B1:B15 区域中返回第 11 个元素的内容,结果即是秋石所对应的课程名称了。
 

(注意:不管是正向查询,还是反向查询,原理都是如此。)

多条件查询



实际应用中,我们也会遇到按行排列的数据形式。

如果需要查询该学生在某个课程中的分数情况,我们就要把姓名和课程这两个条件作为查询条件,这里我提供两种方法处理。

方法一:INDEX+MATCH+&


这里发挥关键的是连字符&,正如前面讲到了,通过连字符&将两个条件合并为一个新的条件和新的数据区域。

具体公式如下:
=INDEX($B$3:$E$3,MATCH(B5&B6,$B$1:$E$1&$B$2:$E$2,0))
▲ 左右滑动查看

其中,B5&B6 是构建新的条件:秋加线性代数,$B$1:$E$1&$B$2:$E$2 构建新的区域数据:"秋名高等数学Ⅱ","秋名线性代数","秋加高等数学Ⅱ","秋加线性代数"。

方法二:INDEX+MATCH+IF


利用 IF 函数将符合课程的名字提取出来,再利用 MATCH 函数返回所查询姓名的位置数。

具体公式如下:
=INDEX($B$3:$E$3,MATCH(B5,IF($B$2:$E$2=B6,$B$1:$E$1),0))
▲ 左右滑动查看

其中,先判断 B2:E2 区域内是否等于 B6,相等会返回 TRUE,否则为 FALSE。

其次,利用 IF 函数将后面区域中 TRUE 所对应的名字保留,实际结果为:

IF({FALSE,TRUE,FALSE,TRUE},{"秋名","秋名","秋加","秋加"})

最后,在这个区域中利用 MATCH 函数返回符合名字的位置数,即:

MATCH("秋加",{FALSE,"秋名",FALSE,"秋加"},0)

这样就可以了~

双向查找



工作与学习中,我们拿到的数据多数为由首行首列构建的数据形式,而双向查找则是在这个数据区域中查找引用符合首行和首列中两个条件的数据。

这其实对应着上一篇中 INDEX 函数的区域数据查找和引用,只不过仍是将行号和列号用 MATCH 函数来替代。

如要查找下表中王一虎的中国近代史纲要科目的分数。


具体公式如下:
=INDEX(A1:G15,MATCH(B19,A1:A15,0),MATCH(A19,A1:G1,0))
左右滑动查看

其中,MATCH(B19,A1:A15,0)是先查找科目所在行。

即利用 MATCH 函数查找科目所在行的相对位置,将返回的相对位置数作为 INDEX 函数中的行参数。

MATCH(A19,A1:G1,0)是先查找姓名所在的列。

即利用 MATCH 函数查找姓名所在列的相对位置,将返回的相对位置数作为 INDEX 函数中的列参数。


那么,如果想进一步构建一个简易的成绩查询表,即只需更换查询位置的姓名和科目即可在数据中显示相应位置的分数,这是如何处理呢?

这留给大家自已来思考~

提示:可从数据验证和表单控件两个方向思考。
总结回顾


看到这里,我们会发现 INDEX 与 MATCH 函数的结合,实质上就是将原来 INDEX 函数中的行号和列号替换为 MATCH 函数返回结果。

其实,很多组合函数也正是基于这个方向来进行构建,以便实现更为复杂的数据处理需求。

因些当我们深刻地理解 INDEX 函数的语法时,就能灵活地与其他函数进行组合,完全能够解决日常所遇到的数据查找和提取需求。

下面,我们再来回顾下相关知识点:
 
❶正向与反向查询。
INDEX(查询区域 1,MATCH(查找辅助值,查询区域 2,匹配方式))
 
❷多条件查询。
INDEX+MATCH+&  或  INDEX+MATCH+IF
 
❸双向查询。
INDEX(查找区域,MATCH(位于行的条件,行区域,匹配方式),MATCH(位于列的条件,列区域,匹配方式))

看了以上的讲解,你是否已经掌握了 INDEX 和其他函数搭配的组合用法呢?



如果你想学 Excel,想要快速掌握 Excel 数据处理的常用方式,提高办公效率!

小 E 推荐你学习我们秋叶家的《Excel 新手到高手》这门课程~

不用担心看不懂、学不会、难上手,课题会根据实例为你讲解,循序渐进,让 Excel 技术一步达成!

课程原价 169 元,现在购买,还能领取 30 元优惠券,券后仅需 139 元!

还有以下超值大礼包领取~
360+超实用精美图表模板
Excel 常用函数大全
价值 99 元的 3 天 Excel 高效集训营

还等什么
赶紧扫码抢购吧↓↓↓
欢迎加入秋叶 Excel 专属读者群~和群友一起互相交流学习 Excel,互帮互助。

现在进群,还会掉落各种学习资源,助力大家提升办公效率






↓↓↓


涨知识了
点亮「在看」~
👇👇👇
动动小手
分享给朋友~
👇👇👇

文章有问题?点此查看未经处理的缓存