E战到底特训营

day 16 巧用INDEX+MATCH函数,省时又省力!

2018-08-16  本文已影响3人  Office职场小叶

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(在哪儿找,第几行)

废话不多说,上图。

如图一所示:

图  一

如何根据编号知道其所在第几行?

=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单元格中的产品型号和规格条件,从价格表中查询产品价格

图  二

B6单元格的查询公式如下:

=INDEX($E$3:$G$6,MATCH($B$4,$D$3:$D$6,0),MATCH($B$5,$E$2:$G$2,0))

在公示中则直接使用两个MATCH函数分别针对产品型号和产品规格进行独立查找,最终将行号和列号返回给INDEX函数来返回查询结果。

上一篇 下一篇

猜你喜欢

热点阅读