215 | 使用SUMIF函數統計前3名成績和的方法 |
在前面單元中,講述了SUMIF函數的單條件計算總和、多條件計算總和的方法,那麼當在工作中遇到涉及數值大小的問題,該用什麼思路去解決呢?
以下圖為例,如何利用SUMIF函數與LARGE函數的結合來統計前3名學員成績和的方法。
在上圖中工作表左側的表格是資料來源區域,被要求統計學期成績前三名成績之和。
這個要求我們可以將其分為兩步分來思考:
第一步是需要從資料中用公式提取前三名的成績。
第二步是將它們匯總計算總和。這樣即使資料來源有所變動,前三名成績也會隨公式結果動態更新,從而始終保證結果的正確。
G2儲存格中公式為:「=SUMIF(E2:E9,">"&LARGE(E2:E9,4))」。
但有一種狀況是要特別注意的:若指定的K值,即欲計算到第幾大的值有多個相同時,則會造成計算錯誤。
以下圖為例,在第三名以後有三筆相同,這時不論計算前3名或前4名總分,都會計算錯誤只算到前2名的學期成績,而無法計算第3名及第4名學期成績,因無法鄰別第3名及第4名成績為何?直到計算前5名學期成績總和才又正確:
計算前3名總分
計算前4名總分
計算前5名總分
LARGE函數的基礎語法為:
LARGE函數 函數類型:數學與三角函數 |
說明: 傳回資料範圍(陣列)中第幾大的值。 語法: LARGE(Array,K) 引數: Array:必要參數,為資料範圍或陣列。 |
SUMIF函數的基礎語法為:
SUMIF函數 函數類型:數學與三角函數 |
說明: 傳回所有符合指定條件的儲存格總和 語法: SUMIF(Range,Criteria,Sun_range) 引數: Range:必要參數,用於要依條件計算加總的範圍,每個區域中的儲存格都必須是數值或名稱、陣列或包含數值的引用。空值和文本值將被忽略。 |
【說明】
1、 Criteria中的任何文本條件或任何含有邏輯或數學符號的條件都必須使用雙引號(“)括起來。如果條件為數值,則無需使用雙引號。
2、 Criteria參數中支援使用萬用字元(包括問號“?”和星號“*”)。問號匹配任意單個字元;星號匹配任意一串字元。如果要查找實際的問號或星號,請在該字元前鍵入波形符“~”。
3、 使用SUMIF函數匹配超過255個字元的字串或字串#VALUE!時,將返回不正確的結果。
4、 當Sum_range參數與range參數的大小和形狀可以不同。求和的實際儲存格通過以下方法確定:使用Sum_range參數中左上角的儲存格作為起始儲存格,然後包括與range參數大小和形狀相對應的儲存格。
【注意】這種情況下會使SUMIF函數具有不准確性,即引發工作表重算。
留言列表