|
|
PIVOTBY 函数允许通过公式创建数据摘要。 它支持沿两个轴分组并聚合关联的值。 例如,如果你有一个销售数据表,则可以按州和年份生成销售摘要。
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 将 lambda (SUM、AVERAGE、COUNT 等) 来定义如何聚合值。 可以提供 lambda 的向量。 如果是这样,输出将具有多个聚合。 矢量的方向将确定它们是按行还是按列布局。 |
|
field_headers |
一个数字,指定 row_fields、col_fields 和 值是否具有标头,以及是否应在结果中返回字段标头。 可能的值为:
缺失:自动。 注意: 自动假定数据包含基于 values 参数的标头。 如果第 1 个值为文本,第 2 个值为数字,则假定数据具有标头。 如果有多个行或列组级别,则显示字段标头。 |
|
row_total_depth |
确定行标题是否应包含总计。 可能的值为:
缺失:自动:总计和小计(如果可能)。 注意: 对于小计, row_fields 必须至少包含 2 列。 如果row_field有足够的列,则支持大于 2 的数字。 |
|
row_sort_order |
一个数字,指示应如何对行进行排序。 数字对应于 row_fields 中的列,后跟 值中的列。 如果数字为负数,则行按降序/反向排序。 仅基于 row_fields进行排序时,可以提供数字向量。 |
|
col_total_depth |
确定列标题是否应包含总计。 可能的值为:
缺失:自动:总计和小计(如果可能)。 注意: 对于小计, col_fields 必须至少包含 2 列。 如果col_field有足够的列,则支持大于 2 的数字。 |
|
col_sort_order |
一个数字,指示应如何对行进行排序。 数字对应于 col_fields 中的列,后跟 值中的列。 如果数字为负数,则行按降序/反向排序。 仅基于 col_fields进行排序时,可以提供数字向量。 |
|
filter_array |
一个面向列的 1D 布尔值数组,指示是否应考虑相应的数据行。 注意: 数组的长度必须与提供给 row_fields 和 col_fields的长度匹配。 |
|
relative_to |
为定义所计算的PERCENTOF相对值。这也适用于需要2个参数的其他lambda函数。
0: 列总计(默认值) |
示例
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
| A | B | C | |
|---|---|---|---|
| 1 | CHAR | NUM1 | NUM2 |
| 2 | a | 1 | 4 |
| 3 | b | 2 | 5 |
| 4 | a | 3 | 6 |
| 公式 | 说明(结果) | |
|---|---|---|
| =PIVOTBY(A1:A4,B1:B4,C1:C4,SUM) | 将A列和B列聚合,计算累加值 | |
| =PIVOTBY(A1:A4,B1:B4,C1:C4,SUM,2) | 将A列和B列聚合,计算累加值并生成行标头 | |
| =PIVOTBY(A1:A4,B1:B4,C1:C4,SUM,,-1) | 将A列和B列聚合,计算累加值并将行字段总计放在顶部 | |
| =PIVOTBY(A1:A4,B1:B4,C1:C4,SUM,,,-1) | 将A列和B列聚合,计算累加值并且行字段降序显示 | |
| =PIVOTBY(A1:A4,B1:B4,C1:C4,SUM,,,,,,A1:A4<>"b") | 将A列和B列聚合,计算累加值并过滤等于b的行 |
相关功能