從前期的學習中,我們已經知道,Subtotal函數的功能非常強大,但還有一個函數,其功能強大到了沒有對手,此函數就是Aggregate,可以實現Sum、Average、Count、Max、Min、Proudct、Media等19個函數的功能。而且還可以隐藏、錯誤值、空值等,不僅如此,還支持常量數組。
功能:返回數據列表或數據庫的合計。
語法結構:分為“引用形式”和“數組形式”。
引用形式:=AGGREGATE(功能代碼,忽略代碼,數據區域1,[數據區域2],[數據區域3]……)
數組形式:=Aggregate(功能代碼,忽略代碼,數組,[索引值])。
參數解讀:
功能代碼:必需,介于1-19之間的整數值,指定要使用的彙總方式,也就是指定要使用的函數。
忽略代碼:必需,介于0-7之間的數字,指定在計算區域内要忽略那些類型的值。
備注:
1、在将Aggregate函數名稱及左括号輸入到工作表的單元格中時,就會立即看到作為參數使用的所有函數的列表,如下圖:
如果需要的函數不在列表中,請向下拖動滾動條。
2、第2個參數時必須的,但未填寫,Aggregate函數将返回#VALUE!錯誤值;在輸入第一個參數,并鍵入“,”(逗号)之後,就會立即看到作為參數使用的所有代碼的列表,如下圖:
3、AGGREGATE 函數專為數據列或垂直區域設計,不适用于數據行或水平區域。
案例解讀
一、Aggregate函數:忽略錯誤值計算最大值。
目的:計算員工的最高“月薪”。
方法:
在目标單元格中輸入公式:=AGGREGATE(4,6,G3:G12)。
解讀:
在數據源的“月薪”列中,G7單元格的值為錯誤代碼#VALUE!,所以在用Max函數計算最大值時,返回錯誤值,此時可以用Aggregate函數忽略錯誤值,然後計算最大值。
二、Aggregate函數:忽略錯誤值并計算最大值。
目的:計算第3名員工的“月薪”。
方法:
在目标單元格中輸入公式:=AGGREGATE(14,6,G3:G12,3)。
解讀:
功能代碼14代表的是Large函數,即返回數組中第K個最大值,在本示例中,就是返回G3:G12中的第3個最大值;忽略代碼6為忽略錯誤值。
三、Aggregate函數:忽略錯誤值并計算最大值。
目的:計算倒數第3名員工的“月薪”。
方法:
在目标單元格中輸入公式:=AGGREGATE(15,6,G3:G12,3)。
解讀:
公式=AGGREGATE(15,6,G3:G12)看起來并沒有錯誤,因為語法結構中已經明确前3個參數時必須的,最後1個參數可以省略;但仔細分析發現,代碼15對應的函數為Small,即返回G3:G12中的第K個最小值,但公式中并沒有指定K,所以返回錯誤值。
四、Aggregate函數:多個區域求和。
目的:忽略錯誤值,并計算所有員工前半年的總“銷量”。
方法:
在目标單元格中輸入公式:=AGGREGATE(9,6,D4:I13)。
解讀:
如果多個區域不連續,也可以采用=AGGREGATE(9,6,D4:D13,E4:E13,F4:F13,G4:G13,H4:H13,I4:I13)方式實現,即獨立編輯每個數據區域;除了求和之外,其他的函數同樣适用。
五、Aggregate函數:篩選狀态下忽略錯誤值。
目的:按性别計算總“月薪”。
方法:
在目标單元格中輸入公式:=AGGREGATE(9,7,G3:G12)。
解讀:
忽略代碼7的作用為:忽略隐藏行和錯誤值。
六、Aggregate函數:批量統計。
目的:一次性查詢可見區域和總區域的最大值、最小值、平均值、和值、計數、并計算中位數。
方法:
在目标單元格中輸入公式:=AGGREGATE({4;5;1;9;3;12},{5,0},G3:G12),并用Ctrl Shift Enter填充。
解讀:
由于是區域性數組公式,所以先選取目标單元格區域,然後編輯公式,最後用Ctrl Shift Enter填充。
結束語:
從上數的示例中可以看出,Aggregate的功能非常的強大,小編隻是列舉了部分示例,如果親有更多的關于Aggregate函數的應用技巧,可以在留言區留言讨論哦!
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!