小而美的函数之SMALL函数

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

图1

一键直达 >> Excel函数学习37:SMALL函数

SMALL函数之美

SMALL函数的原理很简单,但将其组合在公式中,能够帮助我们按顺序获取数据,这可能就是SMALL函数的美妙之处。

结合ROW函数对数据排序

如图2所示,在单元格C1中输入公式:

=SMALL($A$1:$A$6,ROW(A1))

下拉至单元格C6,即将单元格区域A1:A6中的数字由小到大排列。

图2

也可以选择单元格C1:C6,输入数组公式:

=SMALL(A1:A6,ROW(1:6))

结果相同,如图3所示。

图3

这样,原数据区域A1:A6中的数据改变时,排序区域C1:C6会实时更新。

结合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行。

图4

注意到,SMALL函数忽略逻辑值。

在很多公式中都使用了该示例的原理,来获取想要的数据的位置,然后获取该数据。

结语

SMALL函数能够实现数值动态排序,能够在公式中提供数据的位置从而提取相应的数据,是这类问题的必备函数。

LARGE函数用法相同。

(0)

相关推荐