相關學習推薦:
AGGREGATE函數用法與SUBTOTAL函數類似,但在功能上比SUBTOTAL函數更加強大,不僅可以實現諸如SUM、AVERAGE、COUNT、LARGE、MAX等19個函數的功能,而且還可以忽略隱藏行、錯誤值、空值等,並且支援常數陣列。
該函數的第一引數是1到19之間的數位,用於指定要使用的彙總方式:
第二引數是介於0到7之間的數位,指定在計算區域內要忽略哪些型別的值:
接下來咱們就說說這個函數的一些典型用法:
這個函數的強大之處就是在於2參可以指定引數來忽略錯誤值直接統計
如下圖,藍色區域中包含有不同的錯誤值,現在要對這幾個不連續的區域求和。
公式為:
=AGGREGATE(9,6,A3:A7,C3:C4,D6:F7)
如下圖,在篩選後的資料區域中包含有錯誤值,如何對可見單元格進行統計呢?
公式為:
=AGGREGATE(9,7,B6:B18)
第一引數使用9,表示求和,第二引數使用7,表示忽略隱藏行和錯誤值。
如下圖,A3:B14單元格區域中是篩選後的的資料,要分別統計在可見區域和所有資料的最大、最小、平均、總和、計數和中位數。
只要一個公式就夠了:
=AGGREGATE({4;5;1;9;3;12},{5,0},B4:B14)
注意是區域陣列公式,先選取c17:d22區域,然後在編輯列寫上公式,最後按ctrl+shift+enter三鍵錄入。
=AGGREGATE(9,3,A4:A$18)*2-AGGREGATE(9,7,A4:A$18)
除了向下求和的方向外還有隱藏和錯誤值,這是subtotal+sum(if)都無法實現的統計效果
(錄入方法是選取區域定位空值後編輯列寫完公式ctrl+enter批次填充)
這個函數提早五年就實現了2016才有的maxifs和minifs函數的統計效果,而且不需要三鍵。
如下圖,要計算1車間對應的最小值,公式為:
=AGGREGATE(15,6,B4:B15/(A4:A15="1車間"),1)
公式中的第一引數使用15,表示使用SMALL函數,第二引數使用6,表示忽略錯誤值。要統計的區域是B4:B15/(A4:A15=」1車間」)
A4:A15=」1車間」部分,先對比A列的車間是不是等於指定的條件。如果A4:A15單元格區域中等於」1車間」,就返回邏輯值TRUE,否則返回邏輯值FALSE。然後再用B4:B15除以這組記憶體陣列,結果為:
{70;69;87;77;55;46;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;19;47}
最後,AGGREGATE函數忽略裡面的錯誤值,得到第一個最小值。
如果要計算1車間對應的第三個最小值,只需要將最後的1,變成3就好了。
如果要計算1車間對應的最大值,咱們可以修改一下第一引數,使用14,就是第k個最大值了。
如果想要一對多查詢,很多人想到的是INDEX+SAMLL+IF函數的三鍵客組合。其實,用aggregate函數替代也是能實現的。
如下圖,要提取出二車間的所有工號,可以使用以下公式:
=IFERROR(INDEX(B:B,AGGREGATE(15,6,ROW($3:$12)/(A$3:A$12=D$3),ROW(A1))),"")
這個公式的思路和第五個公式基本相同。
如下圖,B列多人的考核情況被寫到同一個單元格內,要統計其中的最大值。公式為:
=AGGREGATE(14,6,--MID(B4,ROW($1:$50),COLUMN(A:AZ)),1)
公式中的MID(B4,ROW($1:$50),COLUMN(A:AZ))部分,使用MID函數,依次從第1~50個字元處開始,各提取長度為1~50的字串,得到一個巨長的記憶體陣列。再使用兩個負號,把記憶體陣列中的文字變成錯誤值,數值仍然是其本身的值。
最後使用AGGREGATE函數,忽略記憶體陣列中的錯誤值,計算出其中的第一個最小值。
如下圖所示,要同時統計1車間對應的最大和最小值。
先同時選中F4:G4單元格,編輯列輸入以下公式,按Ctrl+Shift+回車。
=AGGREGATE({16,15},6,B4:B15/(A4:A15=E4),1)
AGGREGATE第一引數使用常數陣列{16,15},表示分別使用最大值和最小值的計算規則。
最終的結果也是一個記憶體陣列,所以要同時選中兩個單元格輸入。
這個函數的特性在於第一引數為14~19時,可以使用第四引數,此時的第四引數是支援陣列的,因此就能玩出各種應用,來替代不能直接忽略錯誤值的SMALL、LARGE等函數。
相關學習推薦:
以上就是範例總結Excel中AGGREGATE函數的八個用法的詳細內容,更多請關注TW511.COM其它相關文章!