全部練習題 / 數學

前三名訂單的合計(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)

同樣三筆,換一條路:以第三大的金額為門檻並把它包含進來。推理解釋起來更短,但遇到第三名並列時會悄悄出錯——你會拿到四筆而不是三筆。

函數指南

相關練習

常見問題

不排序資料也能算出前三名合計嗎?

=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 才是後備方案。