今天跟大家分享一個非常強大的新函數——GROUPBY函數,它不但能對數據分類匯總,還能進行排序與篩選,功能非常的強大,下面我們就來一起學習下!
一、GROUPBY函數
GROUPBY:根據指定的字段對數據進行分組、聚合、排序和篩選
語法:=GROUPBY (row_fields,values,function,[field_headers],[total_depth],[sort_order],[filter_array])
- 參數1:對那一列進行分組統計
- 參數2:對那一列進行計算
- 參數3:分類匯總的計算方式是什麼
- 參數4:數據是否包含表頭,需要顯示嗎
- 參數5:總計需要顯示嗎,以及顯示的方式
- 參數6:是否需要排序
- 參數7:是否需要對結果進行篩選
這個函數參數一共有7個,雖然看起來多,但是也並不算複雜,只有第一到第三參數是必選參數,其餘的參數都是可以省略的。下面我們就來舉幾個例子簡單的學習下這個函數
一、分類匯總
=GROUPBY(A1:A10,E1:E10,SUM)
- 參數1:A1:A10 採購方式所在的列
- 參數2:E1:E10 採購總價所在的列
- 參數3:SUM表示求和
第三參數是有很多匯總方式的,詳見下圖,可以選擇自己需要的,這個就是它的基本用法
二、多層匯總
公式:=GROUPBY(A1:B10,D1:E10,AVERAGE)
這個函數不是僅僅只能對一列進行分類匯總,還能設置多個匯總字段。
下圖就是根據採購方式以及商品名稱的數據用戶金額的平均值
其實在這裡我們可以簡單的把第一參數看作是透視表的行區域,第二參數看做是透視表的值區域。第三參數說計算方式。
三、是否包含表頭
上面的案例中都有沒有表頭的,如果你想顯示錶頭,就需要設置第四參數,輸入對應的代碼即可
- 0:數據源中沒有表頭
- 1:數據源中有表頭但是不顯示
- 2:數據源中沒有表頭,但是需要生成1個新的表頭
- 3:數據源中有表頭,並且顯示錶頭
在這個參數中0,1,3都比較容易理解,關鍵是參數2,如果數據源中沒有表頭,就會生成新的表頭,以字段1,值1這樣的命名方式來添加新表頭,這個表頭也是無法修改的,效果如下圖所示
四、是否需要顯示總計與小計
GROUPBY不但能顯示總計還能顯示小計,就需要設置第五參數,也是需要輸入對應的代碼來設置小計與總計
- 0:沒有總計
- 1:顯示總計
- 2:顯示總計與小計
- -1:在頂部顯示總計
- -2:在頂部顯示總計與小計
具體的效果如下圖所示,關鍵點需要明白,如果你想顯示小計,第一參數至少需要設置2列數據,否則的話就會顯示為錯誤值 -1與-2是將小計與總計放在表格上方的就不再演示了,大家可以操作這試一下
五、是否需要排序
在這裡正數表示升序,負數表示降序,只能根據1列數據來做升序或者降序的排序。排序列數是根據函數的結果來指定的
如下圖,將第六參數設置為2,就表示根據結果表的第2列進行升序或者降序的排序
六、是否需要進行篩選
比如現在我們不需要APP的數據,就可以考慮將其篩選掉。就需要設置第七參數
公式:=GROUPBY(A1:A10,E1:E10,SUM,3,1,2,A1:A10<>"APP")
以上就是GROUPBY函數的使用方法,它更像是一個縫合怪,把subtoatl,sort,filter縫合在一起功能更加強大,大家可以試着操作下
原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/186753.html