你要的INDEX教程来了,速看!
当需求的人足够多了,自然会有教程。
INDEX这个函数比较特殊,单个函数几乎没啥用,但是跟其他函数结合却威力无穷。最常用的搭档是MATCH和ROW、COLUMN等。
1.INDEX初学
01 返回C列第10行
=INDEX(C:C,10)
02 返回第10行的第4列
=INDEX(10:10,4)
03 返回第10行和第4列的交叉值
=INDEX(A:D,10,4)
这是3种最基本的用法,知道行或者列数,从而得到对应的结果。
2.INDEX入门
行数一般都是用MATCH获取。
=MATCH(F2,C:C,0)
因此,就可以将INDEX+MATCH结合起来,通过班级查找对应的价格。
=INDEX(D:D,MATCH(F2,C:C,0))
如果INDEX引用的区域是多行多列,现在知道价格是第4列,公式可以这样改动。
=INDEX(A:D,MATCH(F2,C:C,0),4)
这里假设价格的标题不确定,因为可能查找其他,比如班级,又该如何?
MATCH可以判断行数,同理,也能判断列数。
=MATCH($G$1,$A$1:$D$1,0)
因此,最经典的INDEX+双MATCH的套路就出来了。
=INDEX(A:D,MATCH(F2,C:C,0),MATCH($G$1,$A$1:$D$1,0))
现在如果要返回多列的对应值,也可以用这个套路,区域记得别锁错。
=INDEX($A:$D,MATCH($F7,$C:$C,0),MATCH(G$6,$A$1:$D$1,0))
这个套路足以取代VLOOKUP。
3.INDEX提升
右边是全国省份城市对应表,为了方便演示,只保留几个,现在要查找城市对应的省份。
思路:潮州市、广州市是E列的值,所以返回广东省,也就是想办法返回E列的数字。
MATCH只能判断一行或者一列,多行多列就派不上用场。这时前面学的SUM数组公式知识又排上用场,让区域满足条件的返回本身列号,这里只有一个满足条件,用SUM或者MAX都行。
=SUM(($E$2:$I$22=A2)*COLUMN(E:I))
如果你对数组没啥概念,先去看下面2篇文章:
知道了列数,再嵌套INDEX就可以返回对应的省份。
=INDEX($1:$1,SUM(($E$2:$I$22=A2)*COLUMN(E:I)))
4.INDEX高级
就是传说中的筛选公式,如:
=INDEX(A:A,SMALL(IF(MATCH($A$2:$A$13,$A$2:$A$13,0)=ROW($1:$12),ROW($2:$13),4^8),ROW(A1)))&""
这个早几年用得很多,现在懒得用了,一般都用辅助列或者技巧先处理数据源。有兴趣的可以自己去深入了解。
上文:你一直在纠结的LOOKUP(1,0套路,这次毫无保留全讲了
你还想学什么函数?
作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)