PIVOTBY 函数

应用对象
Microsoft 365 专属 Excel Microsoft 365 Mac 版专属 Excel Excel 2024 Excel 2024 for Mac Excel 2021 Excel 2021 for Mac

PIVOTBY 函数允许通过公式创建数据摘要。 它支持沿两个轴分组并聚合关联的值。 例如,如果你有一个销售数据表,则可以按州和年份生成销售摘要。

注意

尽管它可以生成类似的输出,但 PIVOTBY 与 Excel 的数据透视表功能不直接相关。 

语法

PIVOTBY 函数允许你根据指定的行和列字段对数据进行分组、聚合、排序和筛选。

PIVOTBY 函数的语法为:

PIVOTBY (row_fields,col_fields,values,function,[field_headers],[row_total_depth],[row_sort_order],[col_total_depth],[col_sort_order],[filter_array],[relative_to])

参数 说明
row_fields
(必需)
一个面向列的数组或区域,其中包含用于对行进行分组和生成行标题的值。
数组或区域可以包含多个列。 如果是这样,输出将具有多个行组级别。
col_fields
(必需)
一个面向列的数组或区域,其中包含用于对列进行分组和生成列标题的值。
数组或区域可以包含多个列。 如果是这样,输出将具有多个列组级别。

(必需)
要聚合的数据的面向列的数组或区域。
数组或区域可以包含多个列。 如果是这样,输出将具有多个聚合。
函数
(必需)
定义如何聚合值的 lambda 函数或 eta-reduced lambda (SUM、AVERAGE、COUNT 等) 。
可以提供 lambda 的向量。 如果是这样,输出将具有多个聚合。 矢量的方向将确定它们是按行还是按列布局。
field_headers 一个数字,指定 row_fieldscol_fields 是否具有标头,以及是否应在结果中返回字段标头。 可能的值为:
缺失:自动。
0:否
1:是且不显示
2:否,但生成
3:是并显示
注意: 自动假定数据包含基于 values 参数的标头。 如果第 1 个值为文本,第 2 个值为数字,则假定数据具有标头。 如果有多个行或列组级别,则显示字段标头。
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 列。 如果col_field有足够的列,则支持大于 2 的数字。
col_sort_order 一个数字,指示应如何对行进行排序。 数字对应于 col_fields 中的列,后跟 中的列。 如果数字为负数,则行按降序/反向排序。
仅基于 col_fields进行排序时,可以提供数字向量。
filter_array 一个面向列的 1D 布尔值数组,指示是否应考虑相应的数据行。
注意: 数组的长度必须与提供给 row_fieldscol_fields的长度匹配。
relative_to 使用需要两个参数的聚合函数时, relative_to 控制向聚合函数的第二个参数提供哪些值。 这通常在提供 PERCENTOF 以 运行时使用。
可能的值为:
0:默认) (列总计
1:行总计
2:总计
3: Parent Col Total
4:父行总计
注意: 仅当 函数 需要两个参数时,此参数才会产生影响。 如果向 函数提供自定义 lambda 函数,则它应遵循以下模式:LAMBDA (子集、totalset、SUM (子集) /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)