SUBTOTAL函數主要用于篩選和隐藏後的數據統計,其語法為
SUBTOTAL(function_num,ref1,…),其中參數function_num用于指定要為分類彙總使用的函數,如求和、計數、求平均值等。
function_num參數值的具體含義如下表所示:
當function_num取1~11時,SUBTOTAL函數對篩選後的數據進行統計,包括手工隐藏的數據。當function_num取101~111時,SUBTOTAL函數對可見的數據進行統計,忽略篩選掉的數據和手工隐藏的數據。無論function_num取1~11還是101~111,SUBTOTAL函數均不統計篩選掉的數據,兩個參數範圍的區别在于是否統計手工隐藏的數據。
本文主要以使用SUBTOTAL函數進行計數(即function_num為3、103)和求和(即function_num為9、109)為例,講解SUBTOTAL函數的用法。
一、篩選後計數
如下圖所示,A1:C11為各業務員銷售額。要求計算篩選出的人數。
在F1單元格輸入公式:=SUBTOTAL(3,$A$2:$A$11)
如下圖所示,當未篩選數據時,SUBTOTAL函數返回值為“10”。
當篩選出“銷售1部”的數據時,SUBTOTAL函數返回值為“4”。
二、篩選後求和
如下圖所示,在F1單元格輸入公式:=SUBTOTAL(9,$C$2:$C$11)
當未篩選數據時,SUBTOTAL函數返回值為“550”。
當篩選出“銷售1部”數據時,SUBTOTAL函數返回值為“220”。
三、隐藏後計數
如下圖所示,在F1單元格輸入公式:=SUBTOTAL(103,$A$2:$A$11)
此時所有數據均未隐藏,SUBTOTAL函數返回值為“10”。
當隐藏第2、3行數據後,SUBTOTAL函數返回值為“8”,如下圖所示。
四、隐藏後求和
如下圖所示,在F1單元格輸入公式:=SUBTOTAL(109,$C$2:$C$11)
此時所有數據均未隐藏,SUBTOTAL函數返回值為“550”。
當隐藏第2、3行數據後,SUBTOTAL函數返回值為“520”。
五、生成篩選後仍連續的序号
如下圖所示,在A2單元格輸入公式:=SUBTOTAL(103,$B$2:B2)*1
拖動填充柄向下複制公式,在A2:A11生成連續序号。
當篩選出“銷售1部”時,序号仍保持連續,如下圖所示:
六、對篩選後的數據進行條件計數
如下圖所示,在C14單元格輸入公式:
=SUMPRODUCT(($B$2:$B$11=B15)*(SUBTOTAL(2,OFFSET($C$2,ROW($C$2:$C$11)-2,0))))
拖動填充柄将公式向下複制至C16單元格。
當未篩選數據時,SUBTOTAL函數返回的是各部門的員工人數。
當篩選出“銷售額>=50”的數據時,SUBTOTAL函數返回的是各部門銷售額不低于50的員工人數,如下圖所示:
本例中,使用OFFSET函數作為SUBTOTAL函數ref1參數,确定C2:C11單元格是否被篩選出。使用公式($B$2:$B$11=B15)判斷是否為B15單元格的部門(即“銷售1部”)。使用SUMPRODUCT函數計算滿足條件的單元格個數。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!