各位表亲好,今天咱们一起学习INDEX函数。
(一)函数介绍:
1. 函数用途: INDEX用于返回表格或区域中的值或值的引用。
2. 函数写法:=INDEX (array, row_num,[column_num]),翻译成中文是:=INDEX (返回值所在的区域, 返回该区域的第几行, 返回该区域的第几列)。
3. 参数介绍:
参数1【必选参数】:可以是单行,单列,多行多列或者数组。
参数2【可选参数】:如参数1为单行时,参数2可以忽略。
参数3【可选参数】:如参数1为单列时,参数3可以忽略。
(二)应用案例
1. 提取现金流回正月份

【公式】: = INDEX(A3:A22,MATCH(TRUE,C3:C22>0,0),)
【说明】:首先,利用MATCH函数返回C3:C22中首次出现正数(>0)的排位(18),然后。利用INDEX函数从A3:A22中返回排位为18的时间(2022年12月),也就累计净现金流回正的时间。最后,该公式中,A3:A22为查询区域(单列),因此INDEX函数的第三个参数可以忽略。
2. 隔行提取数据

【公式】:在E3中输入=INDEX(A:A,ROW(A1)*2+1)&""
【说明】:首先,利用ROW(A1)*2+1构件3,5,7…间距为2的等差数列并以此作为INDEX函数的第二个参数;然后,利用INDEX函数从A列中分别提取第3、第5、第7…行的数据,实现隔行提取。最后,在公式后面&“”连接空值,大家可以是试一试如果区间这部分会是什么结果?
3. 一对多查询

【公式】:在G3中输入下列公式=INDEX($B$1:$B$16,SMALL(IF($A$1:$A$16=$F$3,ROW($1:$16),1000),ROW(A1)))。
【说明】:
首先,IF函数部分让A1:A16的每个单元格与F3进行比较,如果都相等返回改行的行号,否则返回1000(该数字只要是比数据区域达的数据都可以),得到数组{1000;1000;1000;1000;1000;1000;1000;8;9;10;11;12;1000;1000;1000;1000};
然后,将上面的数组作为SMALL函数的参数1,ROW(A1)作为参数2,提取第几小的数据,也即是得到满足$A$1:$A$16=$F$3条件的单元格在A1:A16的排位(8,9,10,11,12);
最后,利用INDEX函数从B1:B16中分别提取即可。
【注意】该案例中低版本的EXCEL需要使用数组三键(CTRL+SHIFT+ENTER),2021及以上不用。
当然,2021版及以上版本可以使用FILTER函数,=FILTER(B2:D16,A2:A16=F3)。
用法四:交叉查询

【公式】:INDEX(A2:E5,MATCH(G3,A2:A5,0),MATCH(H2,A2:E2,0))。
结语:今天分享了INDEX函数的参数和基本写法,并介绍了该函数在提取现金流回正月份、隔行提取数据、一对多查询和交叉查询的应用,当然,INDEX函数的用法远不止以上四种,但只要掌握了函数的基本逻辑和真正理解以上四种用法的含义,就可以轻松应对了。好了,今天的内容就到这里了,Bye!