前三名订单的合计(SUMIF + LARGE)

困难 数学
题目说明
提示 0/4
官方解法 2
–
测试用例
1
2
3
重置
提交
fx
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
正在加载交互式电子表格...
正在准备单元格数据与公式求解引擎
○ 就绪 请在高亮的目标单元格输入公式,然后点「提交」。

题目

题目说明

成交记录 A2:C9 有八笔金额落差很大的订单。奖金只按金额最大的三笔发放,所以要算出「前三名合计」——不能加辅助列,也不能先把数据排序。请把结果放进 Top 3 total 单元格 E2。

阈值不是固定数字:测试用例会让不同的订单挤进前三名,所以分界线必须由数据本身算出来。

题目数据

用表格查看整份数据(可选中、可复制)
这道题的数据表
ABCE
1OrderRepAmountTop 3 total
2ORD-2001Ana Li1250
3ORD-2002Ben Kim800
4ORD-2003Chen Wu960
5ORD-2004Dana Ortiz600
6ORD-2005Eve Novak330
7ORD-2006Ana Li700
8ORD-2007Chen Wu480
9ORD-2008Ben Kim1200

知识点

LARGE(range, 4) 是第四大的金额,因此 SUMIF(range, ">"&LARGE(range, 4)) 只会留下它上面的值——正好是前三名。常见的另一种写法是 ">="&LARGE(range, 3),直接把第三大含进来。两种都建立在「金额不重复」之上:如果第三、第四名并列,严格大于版本会少算、">=" 版本会多算,这时真正安全的是 SUM(LARGE(range, {1,2,3}))。

解题思路

答案写在 E2。提交时我们会换 3 组输入重跑你的公式,写死数字一定过不了 —— 公式必须跟着单元格走。

  1. 目标单元格是 E2
  2. 金额在 C2:C9——表上没有排名列可以筛选
  3. LARGE(C2:C9, 4) 会返回第四大的金额,严格大于它的就是前三名
  4. 形状:=SUMIF(?, ">"&LARGE(?, ?), ?)

官方解法

展开 2 种解法(建议先自己试一次)

解法 1:严格大于第四大

=SUMIF(C2:C9, ">"&LARGE(C2:C9, 4))

LARGE(C2:C9, 4) 在运行时才算出门槛——第四大的金额——条件再把大于它的值全部加起来。所谓「前 N 名」的套路就是把 4 换成 N+1,数据不需排序、也不需辅助列。

解法 2:大于等于第三大

=SUMIF(C2:C9, ">="&LARGE(C2:C9, 3), C2:C9)

同样三笔,换一条路:以第三大的金额为阈值并把它包含进来。推理解释起来更短,但遇到第三名并列时会悄悄出错——你会拿到四笔而不是三笔。

函数指南

相关 Excel 练习

常见问题

不排序数据也能算出前三名合计吗?

=SUMIF(C2:C9, ">"&LARGE(C2:C9, 4)) 会把大于第四大金额的值全部加起来。要前 N 名就把 4 换成 N+1——阈值由数据算出,所以原始顺序可以任意。

如果第三名有两笔并列怎么办?

上面两种写法都会失准:严格大于会悄悄漏掉并列的两笔(结果少于三笔),而 ">=" 会多收一笔变成四笔。可能出现并列时,请用 =SUM(LARGE(C2:C9, {1,2,3})),它按名次取,不靠阈值。

可以用 SUMPRODUCT 代替吗?

可以:=SUMPRODUCT(LARGE(C2:C9, {1,2,3})) 或 =SUMPRODUCT((C2:C9>=LARGE(C2:C9,3))*C2:C9)。SUMIF 读起来更短;当同一公式还要处理 OR 或区分大小写时,SUMPRODUCT 才是后备方案。