跳至主要内容

根据条件在Excel中求最小或底部N个值的和

Author: Xiaoyang Last Modified: 2025-05-07

在之前的教程中,我们讨论了 如何对数据范围内的最小n个值求和。本文将进行更高级的操作——根据一个或多个条件在Excel中求最低n个值的总和。

doc-sum-bottom-n-with-criteria-1


根据条件在Excel中求最小或底部N个值的和

假设我有如下截图所示的数据范围,现在我想对产品“苹果”的最低3个订单求和。

doc-sum-bottom-n-with-criteria-2

在Excel中,要根据条件对范围内的底部n个值求和,可以使用SUM、SMALL和IF函数创建数组公式。通用语法为:

{=SUM(SMALL(IF(range=criteria,values),{1,2,N}))}
数组公式,需同时按下 Ctrl + Shift + Enter 键。
  • range=criteria: 匹配特定条件的单元格范围;
  • values: 包含要加总的底部n个值的列表;
  • N: 第N个底部值。

要解决上述问题,请在空白单元格中应用以下数组公式:

=SUM(SMALL(IF(($A$2:$A$14=D2), $B$2:$B$14),{1,2,3}))

然后同时按下 Ctrl + Shift + Enter 键以获得正确的结果,如下截图所示:

doc-sum-bottom-n-with-criteria-3


公式解释:

=SUM(SMALL(IF(($A$2:$A$14=D2), $B$2:$B$14),{1,2,3}))

  • IF(($A$2:$A$14=D2), $B$2:$B$14): 如果范围 A2:A14 中的产品等于“苹果”,则返回订单列表 (B2:B14) 中的相关数字;如果产品不是“苹果”,则显示FALSE。你将得到这样的结果:{800;FALSE;FALSE;FALSE;1000;230;FALSE;FALSE;1600;FALSE;900;FALSE;500}。
  • SMALL(IF(($A$2:$A$14=D2), $B$2:$B$14),{1,2,3}): 此 SMALL 函数将忽略 FALSE 值并返回数组中的底部3个值,因此结果是:{230,500,800}。
  • SUM(SMALL(IF(($A$2:$A$14=D2), $B$2:$B$14),{1,2,3}))=SUM({230,500,800}): 最后,SUM 函数对数组中的数字求和以得出结果:1530。

提示:处理两个或更多条件:

如果你需要基于两个或更多条件对底部n个值求和,只需通过 * 字符在 IF 函数中添加其他范围和条件即可,例如:

{=SUM(SMALL(IF((range1=criteria1)*(range2=criteria2) *(range3=criteria3)…,values),{1,2,N}))}
数组公式,需同时按下 Ctrl + Shift + Enter 键。
  • Range1=criteria1: 匹配第一个条件的第一个单元格范围;
  • Range2=criteria2: 匹配第二个条件的第二个单元格范围;
  • Range3=criteria3: 匹配第三个条件的第三个单元格范围;
  • values: 包含要加总的底部n个值的列表;
  • N: 第N个底部值。

例如,我想对Kerry销售的产品“苹果”的底部3个订单求和,请应用以下公式:

=SUM(SMALL(IF(($A$2:$A$14=E2)*($B$2:$B$14=F2), $C$2:$C$14),{1,2,3}))

然后同时按下 Ctrl + Shift + Enter 键以获得所需的结果:

doc-sum-bottom-n-with-criteria-4


相关函数:

  • SUM:
  • SUM 函数用于相加数值。你可以相加单个值、单元格引用或范围,或者三者的混合。
  • SMALL:
  • Excel 的 SMALL 函数根据排序后的升序位置返回一个数值。
  • IF:
  • IF 函数测试特定条件,并返回你提供的对应于 TRUE 或 FALSE 的值。

更多文章:

  • 求最小或底部N个值的和
  • 在 Excel 中,使用 SUM 函数很容易对一系列单元格求和。有时,你可能需要对数据范围内的最小或底部 3、5 或 n 个数字求和,如下面的截图所示。在这种情况下,SUMPRODUCT 和 SMALL 函数可以帮助你在 Excel 中解决这个问题。
  • 按账龄小计发票金额
  • 根据账龄对发票金额求和(如下截图所示)可能是 Excel 中的一项常见任务,本教程将展示如何使用普通的 SUMIF 函数按账龄小计发票金额。
  • 忽略错误求所有数字单元格的和
  • 当对包含一些错误值的一系列数字求和时,普通的 SUM 函数将无法正常工作。要仅对数字求和并跳过错误值,AGGREGATE 函数或与 IFERROR 函数结合使用的 SUM 函数可以帮到你。

最佳的办公生产力工具

Kutools for Excel - 助您脱颖而出

🤖 Kutools AI 助手:基于以下功能彻底改变数据分析方式:智能执行   |  生成代码  |  创建自定义公式  |  分析数据并生成图表  |  调用Kutools函数
热门功能查找、高亮或标记重复项  |  删除空行  |  合并列或单元格而不丢失数据  |  四舍五入无需公式 ...
超级VLookup多条件  |  多值  |  跨多个工作表  |  模糊查找...
高级下拉列表简易下拉列表  |  级联下拉列表  |  多选下拉列表...
列管理器添加指定数量的列  |  移动列  |  切换隐藏列的可见状态  比较列以 选择相同和不同的单元格 ...
精选功能网格聚焦  |  设计视图  |  增强编辑栏  |  工作簿与工作表管理器 | 资源库(自动文本)  |  日期提取  |  合并数据  |  加密/解密单元格  |  按列表发送电子邮件  |  超级筛选  |  特殊筛选(筛选粗体/斜体/删除线...) ...
排名前15的工具集12个 文本 工具添加文本删除特定字符 ...)  |  50多种 图表 类型甘特图 ...)  |  40多种实用 公式基于生日计算年龄 ...)  |  19个 插入 工具插入二维码从路径插入图片 ...)  |  12个 转换 工具小写金额转大写汇率转换 ...)  |  7个 合并与拆分 工具高级合并行分割Excel单元格 ...)  |  ... 还有更多

Kutools for Excel拥有超过300种功能,确保您需要的功能只需一键即可实现...


Office Tab - 在Microsoft Office(包括Excel)中启用标签式阅读和编辑

  • 一秒内切换数十个打开的文档!
  • 每天为您减少数百次鼠标点击,告别鼠标手。
  • 在查看和编辑多个文档时,您的工作效率将提高50%。
  • 为Office(包括Excel)带来高效的标签页,就像Chrome、Edge和Firefox一样。