分享

INDEX的8种经典应用,解决Vlookup不能解决的难题!

 Excel教程平台 2022-08-20 发布于四川

一提起查找函数,很多人第一反应都是Vlookup。

Vlookup虽好用,却也有致命的弱点,比如不能逆向查询,只能查找第一个等等。

天底下没有十全十美的事儿,函数也一样。

但好在,Excel里还有个Index函数,能通过横纵坐标精确打靶,而且,它才不管位置是在前方,还是后方。

给Index函数再配上个好伴侣Match,它就能实现VLOOKUP函数和HLOOKUP函数的全部查找功能。

下面,就用八种经典应用来给大家介绍一下这个函数吧!此篇是入门级,适合新手查看

INDEX语法:(数组或区域,行号,列号)

1、调取一列数据中的第几个数字

公式=INDEX(B:B,6)可以得到B列的第六个数据;

注解:5月不是这列的第五个,因为有个表头。

如果将数据区域设置为B2:B10的话,数字的位置正好和月份对应,此时公式可以改为=INDEX(B2:B10,5)。

注解:这种用法有局限性,当月份不是按顺序排列或者某个月份缺失时,结果就不对了。

2、调取一行数据中的第几个数字

假如我们想得到第二行的第六个数据,就可以输入公式=INDEX(2:2,,6)

注解:因为数据只有1行,所以公式也可以写成=INDEX(2:2,6),这是省略的写法;类似的示例1其实也是省略的写法,完整的公式是=INDEX(B:B,6,)

由此可知,当数据只有一行或一列时,INDEX(数组或区域,行号,列号)中的行号或列号可以省略。

3、调取多行多列的区域中指定的数字

公式=INDEX(B2:H5,3,4)可以得到区域中第三行(冰箱)第四列(4月销量)的数字(冰箱4月的销量)。

注解:INDEX(数组或区域,行号,列号)中的行号和列号是第一参数确定的区域中的行号和列号,而非表格中的行号和列号,初学者很容易在这个地方犯糊涂,一定要注意。

以上属于INDEX的基础用法,比较好理解,但是弊端也很明显,就是行号和列号不够智能,下面来几个进阶版的用法。

4、智能调取多行多列的区域中指定的数字

需求是根据产品名称和月份,现在要来调取对应的销量,其实这也就是一个多条件查找。

输入公式=INDEX($B$2:$H$5,MATCH($A8,$A$2:$A$5,0),MATCH($B8,B$1:H$1,0))

注解:MATCH是实现智能调取的关键因素,关于这个函数的用法参考之前的教程。

在这个公式里,还要注意$的用法,要充分考虑公式下拉时各参数行和列的变化情况,只能通过多练习才能熟练引用,没有捷径。

5、反向匹配数据

大家都知道,超好用Vlookup函数有个致命的缺点就是不能反向查询,而INDEX却能轻松解决问题。

比如下图所示,我们要通过姓名来匹配公号,可以输入公式:=INDEX(A:A,MATCH(D2,B:B,0))

注解:使用INDEX函数没有方向的要求,这与VLOOKUP有本质的区别。

6、将一列数据拆分成多列

比如,现在我们有一列流水信息,现要将这张表进行拆分,可以输入公式=INDEX($B$2:$B$19,ROW(A1)*3+COLUMN(A1)-3),效果如图所示。

注解:①公式的难点是ROW(A1)*3+COLUMN(A1)-3,这部分可以参考之前的教程:三个规律,写出好公式

②如果消费金额显示不对的话修改单元格格式为数字即可

7、隔行提取数据

如图所示,要在这样的数据中把姓名提取到一列,就可以使用公式=INDEX(A:A,ROW(A1)*2-1)&""来完成。

注解:①公式中的ROW(A1)*2-1是一种最基础的数列,也就是得到1、3、5……这样的一组数字,从而实现了隔行取数。

②公式中的&""的作用是当姓名超出范围时返回空值而不是0。

8、隔列提取数据

与上一个例子类似的,可以用公式=INDEX($B3:$Q3,COLUMN(A1)*2)实现隔列提取数据的功能,结果如图所示。

注解:公式中的COLUMN(A1)*2实现的是右拉得到2、4、6……的一组数字,从而实现了隔列取数的效果。

六姑娘碎碎念:以上是今天给大家分享的INDEX常用案例,都是比较基础的用法,这个函数还有一些高级用法,想看的请留言哟,原创整理不易,对你有帮助的话,记得点个赞!

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多