SMALL 函数¶
1. 函数概述¶
SMALL 函数用于在一组数值中按从小到大的顺序,返回第 k 个最小值。它常用于成绩排名、最低值提取、分位点分析(如第 2 小、第 3 小)、以及从数据集中取“最小的若干个值”进行汇总或展示。
典型应用场景包括:
- 找出某列数据中第 1 小 / 第 2 小 / 第 10 小的数值
- 取出“最小 N 个值”并用于生成列表
- 在非连续数据中提取指定名次的最小值(搭配筛选/条件函数可扩展)
2. 基础语法¶
3. 参数说明¶
3.1 array(必填)¶
- 含义:需要进行排序比较的一组数值(或包含数值的区域)。
-
可用形式:
- 单元格区域:
A2:A20 - 数组常量:
{3,5,2,9} - 由公式返回的数组(例如动态数组或组合函数的结果)
- 单元格区域:
-
注意点:
-
SMALL 主要对“数值”进行排名取值;文本、空白等通常不会作为有效数值参与结果。
3.2 k(必填)¶
- 含义:返回第几个最小值。
-
规则:
k=1返回最小值k=2返回第二小k=3返回第三小,以此类推
-
k 的来源:
- 直接写数字:
1、2、10 - 引用单元格:
E2 - 用序列生成:如用
ROW(A1)生成 1、2、3… 以批量返回最小值列表
- 直接写数字:
4. 基础用法示范(不含错误示例)¶
以下示例假设数据位于
B2:B11。
4.1 返回最小值(第 1 小)¶
解释:在 B2:B11 中找出最小的那个数。
4.2 返回第 2 小值¶
解释:在 B2:B11 中找出第二小的数,常用于“次低价”“第二低分”等分析。
4.3 返回第 k 小值(k 来自单元格)¶
假设 E2 中填入名次(如 5),则:
解释:让用户通过修改 E2 的数值,动态切换返回第几小。
4.4 批量返回“最小的 N 个值”列表¶
如果你希望在 D2:D6 输出最小的 5 个值,可以在 D2 输入:
然后向下填充到 D6。
解释:
ROW(A1)在 D2 时为 1,向下填充会变成ROW(A2)=2、ROW(A3)=3……- SMALL 会依次返回第 1 小、第 2 小、第 3 小……从而形成“最小值排行榜”。
4.5 获取最小值并进行汇总计算¶
解释:分别取第 1 小、第 2 小、第 3 小并相加,适合做“最低三次成本合计”“最小三项支出总和”等。
5. 总结¶
- SMALL 的核心用途:从一组数据中取出“第 k 小”的数值,是“按名次取小值”的标准函数。
- 最常用的 k:
1(最小值)、2(第二小)、以及通过ROW()批量生成1..N输出最小 N 个值列表。 -
使用建议:
- 需要“最小 N 个值列表”时,用
SMALL + ROW()是最经典、最稳定的写法。 - 需要动态名次时,把
k放进单元格,让结果随输入变化,便于做报表和交互分析。
- 需要“最小 N 个值列表”时,用
以上就是 SMALL 函数的完整基础教学内容,掌握它之后,你可以更高效地完成数据排名、低值提取与最小值集合分析等工作。