Applies ToMicrosoft 365 专属 Excel

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

(必需)

一个面向列的数组或区域,其中包含用于对列进行分组和生成列标题的值。 

数组或区域可以包含多个列。 如果是这样,输出将具有多个列组级别。 

values

(必需)

要聚合的数据的面向列的数组或区域。

数组或区域可以包含多个列。 如果是这样,输出将具有多个聚合。

函数

(必需)

定义如何聚合值的 lambda 函数或 eta-reduced lambda (SUM、AVERAGE、COUNT 等) 。

可以提供 lambda 的向量。 如果是这样,输出将具有多个聚合。 矢量的方向将确定它们是按行还是按列布局。

field_headers

一个数字,指定 row_fieldscol_fields 是否具有标头,以及是否应在结果中返回字段标头。 可能的值为:

缺失:自动。 0:否 1:是且不显示 2:否,但生成3:是并显示

注意: 自动假定数据包含基于 values 参数的标头。 如果第 1 个值为文本,第 2 个值为数字,则假定数据具有标头。 如果有多个行或列组级别,则显示字段标头。

row_total_depth

确定行标题是否应包含总计。 可能的值为:

缺失:自动:总计和小计(如果可能)。0: No Totals1: Grand Totals2: Grand and Subtotals-1: Grand Totals at Top-2: Grand total and Subtotals at Top 

注意: 对于小计, row_fields 必须至少包含 2 列。 如果row_field有足够的列,则支持大于 2 的数字。

row_sort_order

一个数字,指示应如何对列进行排序。 数字对应于 row_fields 中的列,后跟 中的列。 如果数字为负数,则行按降序/反向排序。

仅基于 row_fields进行排序时,可以提供数字向量。 

col_total_depth

确定列标题是否应包含总计。 可能的值为:

缺失:自动:总计和小计(如果可能)。0: No Totals1: Grand Totals2: Grand and Subtotals-1: Grand Totals at Top-2: Grand total and Subtotals at Top 

注意: 对于小计, col_fields 必须至少包含 2 列。 如果col_field有足够的列,则支持大于 2 的数字。

col_sort_order

一个数字,指示应如何对行进行排序。 数字对应于 col_fields 中的列,后跟 中的列。 如果数字为负数,则行按降序/反向排序。

仅基于 col_fields进行排序时,可以提供数字向量。 

filter_array

一个面向列的 1D 布尔值数组,指示是否应考虑相应的数据行。

注意: 数组的长度必须与提供给 row_fields col_fields的长度匹配。 

relative_to

使用需要两个参数的聚合函数时,relative_to 控制向聚合函数的第二个参数提供哪些值。 这通常在为函数提供PERCENTOF时使用。

可能的值为:

0:列汇总 (默认) 1:行总计2:总计3:父总计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)

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。