PIVOTBY 函數

套用到
Microsoft 365 Excel Mac 版 Microsoft 365 Excel Excel 2024 Mac 版 Excel 2024 Excel 2021 Mac 版 Excel 2021

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

注意

雖然 PIVOTBY 可以產生類似的輸出,但與 Excel 的樞紐分析表功能沒有直接關聯。 

語法

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

PIVOTBY 函數的語法為:

PIVOTBY (row_fields,col_fields,值,函數,[field_headers],[row_total_depth],[row_sort_order],[col_total_depth],[col_sort_order],[filter_array],[relative_to])

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

(必要)
要彙總的資料的欄導向陣列或範圍。
陣列或範圍可以包含多個資料行。 如果是,輸出將會有多個匯總。
函數
(必要)
定義如何彙總值的 LAMBDA 函數或 ETA 縮減 (SUM、AVERAGE、COUNT 等) 。
可以提供 lambda 向量。 如果是,輸出將會有多個匯總。 向量的方向將決定它們是按行還是按欄排列。
field_headers 指定 row_fieldscol_fields 是否有標題,以及是否應在結果中傳回欄位標題的數字。 可能的值為:
遺失:自動。
0:否
1:是,且不顯示
2:否,但產生
3:是並顯示
注意: [自動] 會根據 values 引數假設資料包含標頭。 如果第一個值是文字,第二個值是數字,則會假定資料有標頭。 如果有多個列或欄群組層級,則會顯示欄位標題。
row_total_depth 決定列標題是否應包含合計。 可能的值為:
遺失:自動:總計,如果可能,還有小計。
0:無總計
1:總計
2:總計和小計
-1:總計位居榜首
-2:頂部的總計和小計
注意: 如果是小計, row_fields 必須至少有 2 欄。 只要有足夠的欄 row_field 支援大於 2 的數字。
row_sort_order 指出欄應如何排序的數字。 數字會與 row_fields 中的欄對應,後面接著 中的欄。 如果數字為負數,則會以遞減/反向順序排序列。
當僅根據 row_fields排序時,可以提供數字向量。
col_total_depth 決定欄標題是否應包含總計。 可能的值為:
遺失:自動:總計,如果可能,還有小計。
0:無總計
1:總計
2:總計和小計
-1:總計位居榜首
-2:頂部的總計和小計
注意: 如果是小計, col_fields 必須至少有 2 欄。 支援大於 2 的數字,前提是 col_field 有足夠的欄。
col_sort_order 指出列應如何排序的數字。 數字會對應 col_fields 中的欄,後面接著 中的欄。 如果數字為負數,則會以遞減/反向順序排序列。
當僅根據 col_fields排序時,可以提供數字向量。
filter_array 以欄為導向的一維布林值陣列,指出是否應考慮對應的資料列。
注意: 陣列的長度必須符合提供給 row_fieldscol_fields 的長度。
relative_to 當使用需要兩個引數的彙總函數時, relative_to 會控制要提供給彙總函數第二個引數的值。 這通常是在提供 PERCENTOF 來 運作時使用。
可能的值為:
0:資料行總計 (預設)
1:列總計
2:總計
3:父列總計
4:父項列總計
注意: 只有在 函數 需要兩個引數時,此引數才會產生影響。 如果您提供自訂的 lambda 函數來 執行函數,它應該遵循此模式:LAMBDA (subset,totalset,SUM (subset) /SUM (totalset) )

範例

範例 1:使用 PIVOTBY 依產品和年份產生總銷售額摘要。

使用 PIVOTBY 依產品和年份產生總銷售額摘要。公式為:=PIVOTBY (C2:C76,A2:A76,D2:D76,SUM)

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

按產品和年份產生總銷售額摘要的 PIVOTBY 函數範例。公式為 =PIVOTBY (C2:C76,A2:A76,D2:D76,SUM,,,-2)