MATCH函数+INDEX函数组合
时间:2022-03-28 07:12:46
在Excel中,MATCH函数和INDEX函数是一对非常经典的组合,我们经常能够在Excel公式中看到他俩的“身影”。MATCH函数返回查找值在单元格区域或者数组中的位置,INDEX函数返回这个位置的数据。下面,让我们看看MATCH函数和INDEX函数组合使用的一些例子,从中体会这对组合的强 * 。
查找满足多个条件的数据
如下图1所示的工作表,数据区域为B3:D16,求单元格G2中指定班级和单元格G3中指定姓名的学生成绩?在单元格G4中使用数组公式:
=INDEX(D3:D16,MATCH(G2&G3,B3:B16&C3:C16,0))
其中,MATCH(G2&G3,B3:B16&C3:C16,0)查找到指定班级的学生在数据区域中的位置,作为INDEX函数的参数来提取值。
图1
总是获取列表中的最后一个数据
如下图2所示的工作表,求列表区域B3:D16中最后一位同学的成绩?在单元格H4中的公式:
=INDEX($D$3:$D$16,MATCH(9.9E+307,$D$3:$D$16))
其中,MATCH(9.9E+307,$D$3:$D$16)总是获取D3:D16中最后一个数据所在的位置。
图2
创建动态区域
动态区域就是当该区域中增加或删除数据时,引用的区域会自动调整。
仍以图2所示的工作表为例,将上例中的公式作为单元格引用的第二个元素:
$B$3:INDEX($D$3:$D$16,MATCH(9.9E+307,$D$3:$D$16))
因为INDEX函数在引用的开始单元格和冒号之后,因此不再获取该区域中的最后一个单元格值,而是获取区域中最后一个数据单元格的地址,从而与开始单元格组成单元格区域。
为了演示效果,我们将上面的引用定义为名称:DynamicData,如下图3所示,当增加数据后,引用区域会自动扩展。
图3
创建更加强大的动态区域
下面中的例子,使用INDEX函数、MATCH函数和COUNTA函数结合的公式,根据指定的列名创建动态区域,很特别的是,各列的行数不需要相同。
如下图4所示,当工作表Sheet4中单元格A1内容为“水果”时,动态命名区域为工作表Sheet3中的水果列;当工作表Sheet4中单元格A1内容为“家用电器”时,动态命名区域为工作表Sheet3中的家用电器列,依此类推。
图4
首先,工作表Sheet3中创建一个动态命名区域:Datas。
公式为:
=Sheet3!$A$2:INDEX(Sheet3!$1:$50,50,COUNTA(Sheet3!$1:$1))
如果工作表Sheet3如下图5所示,则创建的动态区域为从列A开始的3列以及从第1行开始的50行的区域。
图5
然后,选中工作表Sheet4的单元格B2,如图6所示,打开“新建名称”对话框,创建动态名称:DynamicList。
公式为:
=INDEX(Datas,1,MATCH(Sheet4!A1,Sheet3!$1:$1,0)):INDEX(Datas,COUNTA(INDEX(Datas,,MATCH(Sheet4!A1,Sheet3!$1:$1,0))),MATCH(Sheet4!A1,Sheet3!$1:$1,0))
图6
注意:由于要想引用当前单元格左侧的单元格,因此在定义名称时,一定要选择工作表Sheet4的单元格B1。
上面的公式比较复杂,以冒号为界,分为两个部分。
第一部分:INDEX(Datas,1,MATCH(Sheet4!A1,Sheet3!$1:$1,0))
在工作表Sheet3中找到工作表Sheet4单元格A1中的数据所在的单元格,作为起始单元格。
在第二部分中,公式:COUNTA(INDEX(Datas,,MATCH(Sheet4!A1,Sheet3!$1:$1,0)))
找到工作表Sheet4单元格A1中的数据在工作表Sheet3中的列并统计该列非空单元格数量,作为外层INDEX函数的参数。整个第二部分的INDEX公式找到相应列的最后一个数据单元格,作为结束单元格。
结语
使用MATCH函数与INDEX函数的组合,让我们突破VLOOKUP函数的局限,创建常用的获取数据的公式。如果更深入的发掘MATCH函数与INDEX函数的能力,可以创建更加强大的获取数据区域的公式,使其发挥得淋漓尽致。
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Excel中如何对字段进行合并?Excel进行字段合并的三种情况
![](https://img.aspxhome.com/file/2023/5/40485_0s.png)
excel图表中Dirty有什么作用?
![](https://img.aspxhome.com/file/2023/3/a142323_0s.png)
在Word2007中设置标尺的单位
![](https://img.aspxhome.com/file/2023/7/20607_0s.jpg)
如何在word文字中加阴影
![](https://img.aspxhome.com/file/2023/7/29487_0s.jpg)
Word2007如何制作文档封面
excel 2019怎么合并计算?excel 2019合并计算教程
![](https://img.aspxhome.com/file/2023/6/40096_0s.jpg)
Excel2007基础教程:通过冻结窗格保持标题可见
判断Excel单元格区域中是否有重复值
![](https://img.aspxhome.com/file/2023/2/a141852_0s.png)
Word文档虚线怎么设置?快速设置的技巧!
![](https://img.aspxhome.com/file/2023/6/22466_0s.png)
Word中度量单位怎么设置英镑为单位?
![](https://img.aspxhome.com/file/2023/5/24755_0s.jpg)
word文档打开空白怎么办?
excel怎么更改折线图垂直轴的数据
![](https://img.aspxhome.com/file/2023/9/36859_0s.jpg)
Excel自动圈出最大值,这个红圈功能太赞了~
![](https://img.aspxhome.com/file/2023/4/39104_0s.gif)
Word2003文档中为指定页面单独设置横向
![](https://img.aspxhome.com/file/2023/3/20533_0s.jpg)
EXCEL算盈亏平衡
![](https://img.aspxhome.com/file/2023/8/39368_0s.jpg)
iOS 14 beta 5 新功能:隐藏相册
![](https://img.aspxhome.com/file/2023/9/a194679_0s.png)
Word为多个字制作带圈效果
![](https://img.aspxhome.com/file/2023/8/20538_0s.jpg)
word文档中最后的日期和签名该怎居中对齐?
![](https://img.aspxhome.com/file/2023/0/27590_0s.jpg)
Word利用不间断空格使单词保持在同一行文字里
excel表格怎么设置为黑白方式打印?
![](https://img.aspxhome.com/file/2023/8/41508_0s.jpg)