一提起查找函数,很多人第一反应都是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常用案例,都是比较基础的用法,这个函数还有一些高级用法,想看的请留言哟,原创整理不易,对你有帮助的话,记得点个赞! |
|