Excel中index+match函数公式,秒杀Vlookup

工作中,遇到查找匹配问题,天天要用到Vlookup函数公式,但是这个公式在实际使用中会出现各种问题

Vlookup只能从左向右查找,不能从右向左查找

举个例子,我们左边是员工工资表数据,现在需要根据员工来查找匹配工资和员工编号,

我们获取工资数据时,只需要使用公式:

=VLOOKUP(G2,B:E,4,0)

但是当我们结果是员工编号的时候,就是从右向左进行查找匹配,这个时候就不方便输入公式了

当我们删除源数据中的一列时,原先输入好的公式并不能做到自适应,比如我们现在不需要性别列了,我们把它删除,导致原来正确的结果也出错了

如果我们使用INDEX+MATCH函数公式,就完成可以避免上述的问题

使用万能通用用法

=INDEX(结果列,MATCH(查找值,查找列,0))

所以我们需要通过姓名,获取员工编号时,只需要输入公式是:

=INDEX(A:A,MATCH(F2,B:B,0))

查找工资,只需要把A列改成D列

通过这种方式输入的公式,当我们删除掉一列时,结果也不会出错,比如我们删掉岗位这一列,原先的数据也不会被改变

当我们输入=MATCH(F2,B:B,0)

表示F2单元格在B列第几行位置

当我们输入=INDEX(A:A,2)时,得到的结果就是A列的第2个值

所以通过这2个函数公式搭配,先找到查找值在第几行,然后再用INDEX套用结果列的对应序号值就得到结果了,相当精妙

关于这个小技巧,你学会了么?动手试试吧!

Excel—–黄金组合之INDEX+MATCH深入解读

在Excel中,提到数据查找,就不得不说INDEX函数和MATCH函数这对黄金组合,这两个函数的配合使用能够实现大多数情况下的数据查找,且效率非常高。

INDEX函数基本用法INDEX函数是最重要的引用函数之一,通过指定相应行列编号,返回对应位置的元素,它的语法如下:INDEX(array/reference,row_num,[col_num])

  • array/reference:指的是要查找的区域,可以是数组也可以是单元格或区域的引用。
  • row_num:指的是查找区域的行索引,必选参数。
  • col_num:指的是查找区域的列索引,可选参数。

下面举例说说INDEX函数的基本用法。 1. 参数array为一列数据时。如图1所示,在C1单元格输入公式:=INDEX(A:A,4)公式返回A列第4个单元格的数据,即“马娅娅”。

图12. 参数为一行数据时。 如图2所示,在B3单元格输入公式:

=INDEX(1:1,4)同样的,公式返回第1行第4个单元格的数据,即“马娅娅”。

图23. 参数为多行多列时。 此时,需要同时指定row_num和col_num两个参数。如图3所示,在B9单元格输入公式:

=INDEX(A1:H7,4,2)公式返回A1:H7区域的第4行第2列数据,即“马娅娅”。

图34. 参数row_num为0时。此时公式表示对某一列的引用,如图4所示,在B9单元格输入公式:

=SUM(INDEX(A1:H7,0,3))公式返回A1:H7区域第3列数据即语文成绩之和。

图4

MATCH函数基本用法MATCH函数是Excel中重要的查找函数,他通过在单元格区域中搜索指定值,返回该值在查找行或列的索引位置,它的语法如下:MATCH(lookup_value,lookup_array,[match_type])

  • lookup_value:指的是我们需要查找的值。
  • lookup_array:指的是搜索的范围,注意这里只能是一行或者一列的引用,不能多行多列
  • match_type:匹配模式,0表示精确匹配;1表示模糊匹配,但要求搜索范围必须按升序排列;-1表示模糊匹配,但要求搜索范围必须按降序排列。

下面举例说说MATCH函数的基本用法。比如我们在图5的B3单元格输入公式:=MATCH(A3,1:1)公式返回A3单元格中的内容“马娅娅”在第一行数据的索引值4。

图5

INDEXMATCH函数组合实现精确查找如图6所示的一张数据表,我们用INDEX函数和MATCH函数进行数据查找。

图61. 常规查找。我们在K2单元格输入公式:

=INDEX(C:C,MATCH(J2,B:B,0))首先用MATCH函数在B列数据中查找J2单元格即“马娅娅”所在的列索引,结果为4,然后用INDEX函数在C:C索引为4的位置,引用C4单元格中的数据85。

图72. 查找一系列值。比如现在要根据姓名查找各科成绩,在K2单元格输入公式:

=INDEX(C:C,MATCH($J2,$B:$B,0))注意这里的C:C是相对引用,$J2时混合引用,$B:$B是绝对引用,以保证公式在向右拖动的过程中MATCH查找位置不变,而INDEX引用位置C:C自动向右扩展。

图83. 逆向查找。比如现在要根据姓名查找对应班级,在K2单元格输入公式:

=INDEX(A:A,MATCH(J2,B:B,0))这种查找方式和普通查找类似,但是相比于VLOOKUP函数就要好用得多。

图94. 查找指定列。在K2单元格输入如下公式:=INDEX($A:$H,MATCH($J2,$B:$B,0),MATCH(K$1,$1:$1,0))这第1个MATCH函数查找的是J2单元格“马娅娅”对应的行索引,第2个MATCH函数查找的是K1单元格的科目“数学”对应的列索引,最后通过INDEX函数定位到相应行和列,找到对应数据。

图10这个查找方式有一个最大的优点就是,当我们改变查找科目的时候对应查找结果也会随之动态更新,非常方便。

图115. 多条件查找。比如我们要根据班级、姓名两个字段,查找学生对应的数学成绩,我们首先建立一个辅助列,在I2单元格输入公式\’=A2amp;B2\’,将姓名和班级字符串进行连接,然后在M2单元格输入公式:

=IFERROR(INDEX(D:D,MATCH(K2amp;L2,I:I,0)),\’查无此人\’)IFERROR函数的作用是如果查找不到结果,返回错误提示“查无此人”。

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。