小而美的函数之SMALL函数

SMALL函数求一组数值中第几小的数值 , 其第1个参数指定数据组 , 第2个参数指定要求的第几小的值 , 其基本用法如图1所示 。

小而美的函数之SMALL函数


图1
SMALL函数之美
SMALL函数的原理很简单 , 但将其组合在公式中 , 能够帮助我们按顺序获取数据 , 这可能就是SMALL函数的美妙之处 。
结合ROW函数对数据排序
如图2所示 , 在单元格C1中输入公式:
=SMALL($A$1:$A$6,ROW(A1))
下拉至单元格C6 , 即将单元格区域A1:A6中的数字由小到大排列 。
小而美的函数之SMALL函数


图2
也可以选择单元格C1:C6 , 输入数组公式:
=SMALL(A1:A6,ROW(1:6))
结果相同 , 如图3所示 。
【小而美的函数之SMALL函数】
小而美的函数之SMALL函数


图3
这样 , 原数据区域A1:A6中的数据改变时 , 排序区域C1:C6会实时更新 。
小而美的函数之SMALL函数


结合IF函数获取数据的位置
如图4所示 , 单元格区域A1:A6中放置示例数据 , 想要得到“Excel”在该区域第3次出现的位置 , 使用数组公式:
=SMALL(IF($A$1:$A$6=”Excel”,ROW($A$1:$A$6)-ROW($A$1)+1),3)
公式中:
$A$1:$A$6=”Excel”表示单元格区域中的值与“Excel”相比较 , 得到逻辑值组成的数组{TRUE;FALSE;TRUE;FALSE;FALSE;TRUE} 。
ROW($A$1:$A$6)-ROW($A$1)+1生成由单元格区域的行号组成的数字数组{1;2;3;4;5;6} 。
IF函数得到数组{1;FALSE;3;FALSE;FALSE;6} , 作为SMALL函数的数据值参数 , 取第3个最小值即为6 , 表明“Excel”第3次出现在第6行 。
小而美的函数之SMALL函数


图4
注意到 , SMALL函数忽略逻辑值 。
在很多公式中都使用了该示例的原理 , 来获取想要的数据的位置 , 然后获取该数据 。

    猜你喜欢