SMALL函数是返回一组数组中的第几小的数值,而LARGE则刚好相反,返回一组数组中的第几大的数值。两个函数的用法是一致的,本篇以SMALL函数为例。
一、什么情况下使用SMALL函数?
1:获取单元格区域中第3个最小值;
2:求N个最小值的和;
3:返回单元格区域中的负值;
4:动态排序单元格区域中的数值;
二、SMALL函数的语法:
SMALL函数有2个参数,其语法如下:
SMALL(array,k)
array: 代表要求第k个最小值点的数值数组或者数值区域。
k: 指定要求第几个最小值。
如果参数array中包含任何非数字值,则会忽略该值。如果包含的值均为错误值,则返回其中的第1个错误值。如果包含相等的数值,那么会依次显示该值。
三、SMALL函数陷阱
如果指定的最小值数大于数组总数,则会返回#NUM!错误。
四:实际运用。
1:获取单元格区域中第3个最小值;
要返回A2:A11区域内第3小的数值。使用公式:=SMALL(A2:A11,3)
2:求N个最小值之和。
下图所示,工作表A2:A11区域内最小3个值之和,公式为:=SUM(SMALL(A2:A11,{1,2,3}))
3:返回单元格区域中的负值;
=INDEX($A$2:$A$12,SMALL(IF($A$2:$A$12< 0,ROW(INDIRECT(1:& ROWS(A2:A12)))),ROW(INDIRECT(1: & ROWS(A2:A12)))))
该公式为数组公式,因此选取与A2:A12区域相同大小的区域,输入公式后按Ctrl+Shift+Enter组合键。
上述公式获得的结果包含#NUM!错误值,可以使用IFERROR函数消除错误值:
=IFERROR(INDEX($A$2:$A$12,SMALL(IF($A$2:$A$12< 0,ROW(INDIRECT(1:& ROWS(A2:A12)))),ROW(INDIRECT(1: & ROWS(A2:A12))))),)
4:动态排序单元格区域中的数值
如下图所示的工作表,将单元格区域A2:A15,现在要求对该区域中的数值态排序,即在该区域输入数值时,列D中的排序会自动调整。
下面的数组公式由小到大排列A2:A15区域的数值:
=IFERROR(SMALL(A2:A15,ROW(INDIRECT(1:& ROWS(A2:A15)))),)
LARGE的用法,同SMALL函数。
欢迎分享及转载文章。
私信 1217 可以获取VBA FOR WPS的安装程序
私信 数据 可以获取SQL代码的Excel文件
私信 视频 可以获取80集VBA入门视频
本文由梁桂钊于2023-08-16发表在梁桂钊的博客,如有疑问,请联系我们。
本文链接:https://720ui.com/3815.html