跳转至

SMALL 函数

1. 函数概述

SMALL 函数用于在一组数值中按从小到大的顺序,返回第 k 个最小值。它常用于成绩排名、最低值提取、分位点分析(如第 2 小、第 3 小)、以及从数据集中取“最小的若干个值”进行汇总或展示。

典型应用场景包括:

  • 找出某列数据中第 1 小 / 第 2 小 / 第 10 小的数值
  • 取出“最小 N 个值”并用于生成列表
  • 在非连续数据中提取指定名次的最小值(搭配筛选/条件函数可扩展)

2. 基础语法

=SMALL(array, k)

3. 参数说明

3.1 array(必填)

  • 含义:需要进行排序比较的一组数值(或包含数值的区域)。
  • 可用形式

    • 单元格区域:A2:A20
    • 数组常量:{3,5,2,9}
    • 由公式返回的数组(例如动态数组或组合函数的结果)
  • 注意点

  • SMALL 主要对“数值”进行排名取值;文本、空白等通常不会作为有效数值参与结果。

3.2 k(必填)

  • 含义:返回第几个最小值。
  • 规则

    • k=1 返回最小值
    • k=2 返回第二小
    • k=3 返回第三小,以此类推
  • k 的来源

    • 直接写数字:1210
    • 引用单元格:E2
    • 用序列生成:如用 ROW(A1) 生成 1、2、3… 以批量返回最小值列表

4. 基础用法示范(不含错误示例)

以下示例假设数据位于 B2:B11

4.1 返回最小值(第 1 小)

=SMALL(B2:B11, 1)

解释:在 B2:B11 中找出最小的那个数。


4.2 返回第 2 小值

=SMALL(B2:B11, 2)

解释:在 B2:B11 中找出第二小的数,常用于“次低价”“第二低分”等分析。


4.3 返回第 k 小值(k 来自单元格)

假设 E2 中填入名次(如 5),则:

=SMALL(B2:B11, E2)

解释:让用户通过修改 E2 的数值,动态切换返回第几小。


4.4 批量返回“最小的 N 个值”列表

如果你希望在 D2:D6 输出最小的 5 个值,可以在 D2 输入:

=SMALL($B$2:$B$11, ROW(A1))

然后向下填充到 D6

解释

  • ROW(A1) 在 D2 时为 1,向下填充会变成 ROW(A2)=2ROW(A3)=3……
  • SMALL 会依次返回第 1 小、第 2 小、第 3 小……从而形成“最小值排行榜”。

4.5 获取最小值并进行汇总计算

=SMALL(B2:B11,1)+SMALL(B2:B11,2)+SMALL(B2:B11,3)

解释:分别取第 1 小、第 2 小、第 3 小并相加,适合做“最低三次成本合计”“最小三项支出总和”等。


5. 总结

  • SMALL 的核心用途:从一组数据中取出“第 k 小”的数值,是“按名次取小值”的标准函数。
  • 最常用的 k1(最小值)、2(第二小)、以及通过 ROW() 批量生成 1..N 输出最小 N 个值列表。
  • 使用建议

    • 需要“最小 N 个值列表”时,用 SMALL + ROW() 是最经典、最稳定的写法。
    • 需要动态名次时,把 k 放进单元格,让结果随输入变化,便于做报表和交互分析。

以上就是 SMALL 函数的完整基础教学内容,掌握它之后,你可以更高效地完成数据排名、低值提取与最小值集合分析等工作。