
在实际工作中,我们常会面临这样的需求:对某一数据区域内数值最大的前 n 个数进行求和,而该区域的数据通常是无序排列的。
针对“最大值”或“最小值”类问题,Excel 提供了两个非常实用的函数:LARGE 函数(用于提取第 n 大的值)和 SMALL 函数(用于提取第 n 小的值)。其中 LARGE 函数的基本语法为:
<code>=LARGE(数据数组,k)</code>
本例中,若需计算某区域中最大 5 个数值的总和,可先用 LARGE 函数分别提取第 1 至第 5 大的值,再通过 SUM 函数汇总。关键在于:当需要一次性获取多个排名的值时,LARGE 的第二个参数应以常量数组形式输入,例如 {1,2,3,4,5}。完整公式如下:
<code>=SUM(LARGE(数据区域, {1,2,3,4,5}))</code>若需改为求最大 3 个或最大 8 个数值之和,仅需调整大括号内的序列即可,如 {1,2,3} 或 {1,2,3,4,5,6,7,8}。
有读者可能会问:当 n 值较大(比如要取前 50 个最大值)时,手动输入 {1,2,3,...,50} 显然效率低下。为此,这里分享一个高效技巧,可自动生成任意长度的连续整数数组:
- 在 LARGE 函数的第二个参数位置输入
ROW(1:目标n)(例如ROW(1:50)); - 用鼠标选中该部分表达式(如
ROW(1:50)); - 按下 F9 键,Excel 将立即将其转换为等效的常量数组
{1;2;3;...;50}(注意分号为垂直分隔符,在 SUM+LARGE 组合中仍可正常运算)。
同理,若需对最小的 n 个数值求和,只需将上述公式中的 LARGE 替换为 SMALL 函数,其余逻辑完全一致。

















