EXCEL工具是我们常在工作上用到的,在里面有这非常多的功能,其中在Excel表格中函数公式是我们用的最多却也最容易忘记的,那么今天就来很大家分享下用INDEX+MATCH函数做报表的技巧。
INDEX 函数作为EXCEL常用的引用函数之一,主要根据用户在一个范围(区域引用或数组)中指定的行号和列号来返回一个值,如果源范围是区域则返回单元格的值,如果源范围是数组,则返回数组中的某个值。
先来说说函数公式的写法与作用。
MATCH函数作用:在一个区域或数组中查找指定数值的位置,如果查找不到则返回错误值
语法:MATCH(lookup_value, lookup_array, match_type)
ookup_value可以是文本、数值或逻辑值
lookup_array是数组或数组引用(在单行或列中的连续单元格)
match_type可以是-1, 0或1。如果忽略,则为1
简单的来说 =MATCH(找谁,在哪儿找,匹配方式)
INDEX函数作用:根据指定的行数和列数,返回指定区域的值。
=INDEX(array,row_num,column_num) ,
array表示我们要引用的区域,
row_num表示要引用的行数,
column_num表示要引用的列数
简单的来说 =INDEX(在哪儿找,第几行)
废话不多说,上图。
如图一所示:
![](https://img.haomeiwen.com/i12454384/b060a88c4f1721f1.png)
如何根据编号知道其所在第几行?
=match(A2,A2:A8)
返回的结果是1,看图一,证实是对的。
如何根据行号,知道行所在的姓名是谁?
条件:5(第5行)
=index(B2:B8,5)
返回的结果是独孤求败,看图一,证实是对的。
如何根据特定的行号和列号知道区域的值?
条件:2(第二行),3第2列)
=index(A2:C8,2,3)
返回的结果是年龄30,看图一,证实是对的。
如何在知道姓名,查找编号是多少?
在Excel 的函数公式里,VLOOKUP是经典的查找引用函数,而CP组合 INDEX+MATCH,操作上更灵活,很多时候能替代 VLOOKUP。举例,你有一份客户资料表,包括客户编号、姓名、年龄。现在需要在知道姓名的情况下,查找编号是多少?
怎么操作?可以通过 VLOOKUP 函数实现,不过 下面讲解的案例,主要采用 INDEX+MATCH。
条件:姓名—张三丰
=INDEX(A2:A8,MATCH("张三丰",B2:B8,0))
如图二所示,展示了某公司的产品价格表,要求根据B2单元格和B3单元格中的产品型号和规格条件,从价格表中查询产品价格
![](https://img.haomeiwen.com/i12454384/3d0f141469d4b214.png)
B6单元格的查询公式如下:
=INDEX($E$3:$G$6,MATCH($B$4,$D$3:$D$6,0),MATCH($B$5,$E$2:$G$2,0))
在公示中则直接使用两个MATCH函数分别针对产品型号和产品规格进行独立查找,最终将行号和列号返回给INDEX函数来返回查询结果。
网友评论