使用SMALL函数 , 可以获得一组数值中指定第几小的数值 。

什么情况下使用SMALL函数?
SMALL函数数据组中第k个最小值 。它能够:
获取单元格区域中第3个最小值
求n个最小值之和
返回单元格区域中的负值
动态排序单元格区域中的数值
获取单元格区域中唯一值列表
SMALL函数语法
SMALL函数有2个参数 , 其语法如下:
【SMALL函数】SMALL(array,k)
array: 代表要求第k个最小值点的数值数组或者数值区域 。
k: 指定要求第几个最小值 。
如果参数array中包含任何非数字值 , 则会忽略该值 。如果包含的值均为错误值 , 则返回其中的第1个错误值 。如果包含相等的数值 , 那么会依次显示该值 。
SMALL函数陷阱
如果指定的最小值数大于数组总数 , 则会返回#NUM!错误 。
示例1: 获取单元格区域中第3个最小值
要获取单元格区域A1:A5中第3小的值 , 使用公式:
=SMALL(A1:A5,3)
返回数值3 , 即该区域中第3小的值为3 。

下面的公式获取数组中第3小值:
=SMALL({50,20,30,60,50,10},3)
返回30 。
示例2: 求n个最小值之和
下图所示工作表中 , 命名区域Data为A1:A9 。求区域Data中前3个最小值之和的公式为:
=SUM(SMALL(Data,{1,2,3}))
这是一个数组公式 , 因此输入完成后要按Ctrl+Shift+Enter组合键 。公式依次获取Data区域中第1个、第2个、第3个最小值 , 然后将它们相加 。

也可以使用数组公式:
=SUM(SMALL(Data,ROW(INDIRECT(“1:3”))))
相比于上面的公式 , 这个公式使用了ROW函数和INDIRECT函数 , 将更灵活 。
示例3: 返回单元格区域中的负值
单元格区域A2:A10命名为“Num” 。将该区域中所有负值提了出来的公式为:
=INDEX(Num,SMALL(IF(Num<0,ROW(INDIRECT(“1:”& ROWS(Num)))),ROW(INDIRECT(“1:” & ROWS(Num)))))
该公式为数组公式 , 因此选取与Num区域相同大小的区域 , 输入公式后按Ctrl+Shift+Enter组合键 。
上述公式获得的结果包含#NUM!错误值 , 可以使用IFERROR函数消除错误值:
=IFERROR(INDEX(Num,SMALL(IF(Num<0,ROW(INDIRECT(“1:”& ROWS(Num)))),ROW(INDIRECT(“1:” &ROWS(Num))))),””)

示例4: 动态排序单元格区域中的数值
如下图所示的工作表 , 将单元格区域A1:A15命名为SortNum , 现在要求对该区域中的数值态排序 , 即在该区域输入数值时 , 列D中的排序会自动调整 。
下面的数组公式由小到大排列SortNum区域的数值:
=IFERROR(SMALL(SortNum,ROW(INDIRECT(“1:”& ROWS(SortNum)))),””)

示例5: 获取单元格区域中唯一值列表
如下图所示的工作表 , 单元格区域A1:A8命名为“DataValue” , 可以看出 , 该区域中有许多重复值 。下面的数组公式提取并返回该区域中唯一值列表:
=IFERROR(INDEX(DataValue,SMALL(IF(MATCH(DataValue,DataValue,0)=ROW(INDIRECT(“1:”&ROWS(DataValue))),MATCH(DataValue,DataValue,0),””),ROW(INDIRECT(“1:”& ROWS(DataValue))))),””)
猜你喜欢
- 曼瑜天雅童颜喷雾效果怎么使用
- 怎么祛除痘坑
- FREQUENCY函数
- excel函数获取重复次数最多的值
- LEN函数
- LINEST函数
- excel函数获取重复数据出现的最大次数
- excel函数求单元格区域中指定词语出现的次数
- excel函数获取与查找值相对应的多个值
- excel常用函数判断回文
