GROUPBY 函數

套用到
Microsoft 365 Excel

GROUPBY 函數可讓您透過公式建立資料摘要。 它支援沿著一個軸進行分組,並彙總相關聯的值。 例如,如果您有銷售資料表,您可以依年份產生銷售摘要。 

語法

GROUPBY 函數可讓您根據指定的欄位來分組、彙總、排序及篩選資料。

GROUPBY 函數的語法為:

GROUPBY (row_fields,values,function,[field_headers],[total_depth],[sort_order],[filter_array],[field_relationship])

引數 描述
row_fields
(必要)
以欄為導向的陣列或範圍,其中包含用來將列分組及產生列標題的值。
陣列或範圍可以包含多個資料行。 如果是,輸出將具有多個列群組層級。

(必要)
要彙總的資料的欄導向陣列或範圍。
陣列或範圍可以包含多個資料行。 如果是,輸出將會有多個匯總。
函數
(必要)
用來匯總值 (SUM、PERCENTOF、AVERAGE、COUNT 等明確或 ETA 縮減的 LAMBDA ) 。
可以提供 lambda 向量。 如果是,輸出將會有多個匯總。 向量的方向將決定它們是按行還是按欄排列。
field_headers 這個數字指定 row_fields 是否有標題,以及是否應在結果中傳回欄位標題。 可能的值為:
遺失:自動 (預設)
0:否
1:是,且不顯示
2:否,但產生
3:是並顯示
注意: [自動] 會根據 values 引數假設資料包含標頭。 如果第一個值是文字,第二個值是數字,則會假定資料有標頭。 如果有多個列或欄群組層級,則會顯示欄位標題。
total_depth 決定列標題是否應包含合計。 可能的值為:
遺失:自動:總計,如果可能,小計 (預設)
0:無總計
1:總計
2:總計和小計
-1:總計位居榜首
-2:頂部的總計和小計
注意: 如果是小計, 欄位 至少必須有 2 欄。 如果 欄位 有足夠的欄,則支援大於 2 的數字。
sort_order 指出列應如何排序的數字。 數字會與 row_fields 中的欄對應,後面接著 中的欄。 如果數字為負數,則會以遞減/反向順序排序列。
當僅根據 row_fields排序時,可以提供數字向量。
filter_array 以欄為導向的一維布林值陣列,指出是否應考慮對應的資料列。
注意: 陣列的長度必須符合提供給 row_fields的長度。
field_relationship 指定為row_fields提供多個資料行時的關聯欄位。 可能的值為:
0:階層 (預設)
1:表格
如果階層欄位關聯性 (0) ,則排序後面欄位欄時會考量前幾欄的階層。
當資料表欄位關聯 (1) 時,每個欄位欄的排序會獨立完成。 不支援小計,因為它們依賴具有階層的資料。

範例

範例 1:使用 GROUPBY 每年產生總銷售額摘要。

使用 GROUPBY 依年份產生總銷售額摘要。=GROUPBY (A2:A76,D2:D76,SUM)

範例 2:使用 GROUPBY 依產品產生總銷售額摘要。 依銷售額遞減排序。

使用 GROUPBY 依產品產生總銷售額摘要。依銷售額遞減排序。=GROUPBY (C2:C76,D2:D76,SUM,,,-2)