当前位置:主页 > Win10教程 >

small函数如何用|Excel indEx+sMALL函数用法

更新日期:2015-07-11    人气:专注于win10系统官网    来源:http://www.vf28.com

small函数如何用|Excel indEx+sMALL函数用法

=indEx(后果列,sMALL(iF(条件,Row满足条件的行号,较大的空行行号),Row(1:1)))&""

【原理】1、数组运算;2、空单元格与空文本合并。
【特点】得到的后果是文本。
【实例】如图:筛选张三的领用记录(条件是E1单元格的“张三”)。

1.
=indEx(B:B,sMALL(iF(A$2:A$8=E$1,Row(A$2:A$8),4^8),Row(1:1)))&""

复制公式或代码

【解析】:对照“必杀技”,多数人已可以瞧出一点端倪来。
1、条件模块:iF(A$2:A$8=E$1,Row(A$2:A$8),4^8)
表示如果A2:A8的姓名等于E1的“张三”,则返回A2:A8的行号,否则返回4^8,即65536。
iF(如果,则,否则——这语言不难读吧
条件模块经过数组运算,因为A2、A5、A8满足条件,所以返回的是行号数组{2;65536;65536;5;65536;65536;8}。

2、排序模块:sMALL(iF,Row(1:1))
公式的第1行,Row(1:1)返回{1},在第2行返回{2}……因此,利用sMALL+Row可以将条件模块返回的行号数组从小到大依次排序得出。当然,此例中sMALL({2;65536;65536;5;65536;65536;8},1)得到的是2,第2小的是5,第3小的是8,第4小及以后都是65536。

3、引用模块:indEx(引用列,sMALL得到的行号)
=indEx(B:B,2)——引用B2,=indEx(B:B,65536)——引用B65536

4、容错模块:&""
当公式到了第4行,3个满足条件的记录都已经找出来,此时公式是=indEx(B:B,65536)&“”
因为Excel2003的最大行数是65536行,而在这一行中,一般不会有人输入数据,是空单元格。因此,利用空单元格与空文本合并返回空文本的特性,将超出后果数量的部分不显示出来。

相关系统

栏目专题推荐

win10系统推荐

电脑系统教程推荐

友情

链接

要求权重≥2