我們知道,Excel函數的功能總是非常單一的。例如:sum函數用于求和;average函數用于求平均值;count函數用于數字計數;max函數、min函數也只用于求出最大值最小值……如果使用這些函數,想一條公式完成多種統計,往往會使用函數嵌套。然而,因為多函數嵌套對于Excel小白非常的難,所以Excel為我們提供了一個簡單的“萬能統計”函數:Subtotal函數。這個函數使用非常簡單,但卻身兼數職:求和、平均值、數字計數、非空單元格計數、最大值、最小值等等足有11個功能之多。學好這個函數,你將輕松擁有完成11種簡單統計的技巧。本文將分為三個部分對此函數進行介紹:
1、簡單實用的subtotal函數基本功能;
2、利用subtotal函數給表格自動編號;
3、利用subtotal函數計算選手最后得分
一、簡單實用的subtotal函數基本功能
subtotal函數,顧名思義,sub表示替代,total表示總計總額,字面意思就是替代求和(sum)的函數。然而,subtotal絕遠不止于此,實際上前面我們已經提到,subtotal函數可以完成11種簡單的統計。因此subtotal函數又叫分類匯總函數。
1:函數名,subtotal,意即替代求和,是一個分類匯總函數;
2:功能代碼,為1到11或者101到111之間的數字;想使用什么功能,就用對應的代碼即可。見后面的對照表;
3:引用區域,這個地方只能是引用而不能是其他。
4:主要功能是對數據表進行求平均、求和、求最大最小、求方差等分類匯總;
下面是subtotal函數第一個參數的具體說明:
大家注意到了這一點:第一列和第二列的數值對應同一個函數功能。不同的只是,代碼1到11不忽略隱藏值,而101到111忽略了隱藏值。這之間到底有什么分別呢? 下圖以最大值為例來說明這個區別。
N8單元格為最高值,但被隱藏起來,使用不同的代碼卻得到了不同的結果,這就是區別。特別注意的一點就是,如果第二參數選擇的區域是橫向的,那么不管使用什么樣的代碼都將不會忽略隱藏值。
二、利用subtotal函數給表格自動編號
請看下面的動畫,我們如何做才能得到這樣自動編號效果(當單行或者多行被隱藏或者取消隱藏時,A列序號會自動調整)呢?
我們仔細觀察,序號是從小排到大的,且A列每一個序號等于其對于B列單元格向上數非空單元格的個數,例如,A3單元格值為2,即是b2:B3單元格區域中非空單元格的個數;A7單元格的值為6,即是B2:B7單元格區域中非空單元格的個數。因此我們直接在A2單元格中輸入公式:=counta(B$2:B2),然后復制到整列即可。
然而,當我們隱藏某些行列時,我們發現行列時,A列的序號卻無法自動更新調整。如下圖:
我們如何解決這個問題呢?很顯然,使用counta函數已經無法得到我們想要的效果了,因此我們請出subtotal函數來幫忙,前面我們提到,subtotal函數在第一參數使用101到111代碼時,會自動忽略隱藏值,subtotal中計算非空單元格數的代碼為103,因此我們可以寫出下面的公式:A2單元格中輸入公式:=subtotal(103,B$2:B2),然后將此公式復制到全列即可。
三、利用subtotal函數計算選手最后得分
看下圖,如何快速計算出選手的最后得分呢?
一般比賽的要求都是去掉一個最高分,再去掉一個最低分,然后再取剩余值的平均值。因此我們解題步驟通常如下:
1.求總分:=SUM(B2:J2)
2.減去最低分和最高分:=SUM(B2:J2)-max(B2:J2)-min(B2:J2)
3.剩余的值求平均值,本例子中共有9位評委,去掉最低和最高兩個評委,將剩下的7位評委的分數求平均分,因此公式為:=(SUM(B2:J2)-max(B2:J2)-min(B2:J2))/7
在普通解法中,我們用到了三個函數,思路很簡單,但是還是比較麻煩的,如果我們使用subtotal函數,2個函數就可以搞定選手的最后得分了。公式如下:{=SUM(SUBTOTAL({9,4,5},B2:J2)*{1,-1,-1})/7}
這個公式相較于前面的公式理解稍微難一點,我解釋一下:
subtotal函數共2個參數,第一個參數為{9,4,5},9為求和,4為最大值,5為最小值,第二個參數為B2:J2;
在subtotal函數乘一個數組{1,-1,-1},即得到sum(B2:J2),-max(B2:J2),-min(B2:J2),接下來利用sum函數將這幾個值加起來就相當于公式:=SUM(B2:J2)-max(B2:J2)-min(B2:J2);
將得到的結果除以7即得到了=SUM(SUBTOTAL({9,4,5},B2:J2)*{1,-1,-1})/7的公式,最后按下Ctrl+Shift+Enter完成數組公式的輸入。
關于subtotal函數,今天的分享就到這里,感興趣的同學可以與我聯系,可以評論留言并寫下自己的練習方式,我會將練習材料發給大家學習。
你們給我點贊、關注我的賬號就是對我最大支持。