RSS订阅 爱办公,享无限效率

你现在的位置:

函数 PIVOTBY直接创建数据透视表效果

一、函数概述

PIVOTBY 是 Excel 365 新增的强大函数,它允许您通过公式直接创建数据透视表效果,无需手动插入透视表。与 GROUPBY 相比,PIVOTBY 支持双维度交叉分组(行+列),实现更复杂的数据分析 。

核心优势

  • 自动刷新:公式化操作,数据源更新结果自动更新
  • 多表透视:可配合 VSTACK 合并多个工作表数据
  • 透视文本:支持文本聚合(如 ARRAYTOTEXT)
  • 动态数组:结果自动扩展填充

二、语法结构

基础语法(4个必需参数)

=PIVOTBY(行字段, 列字段, 值字段, 函数)

完整语法(11个参数)

=PIVOTBY(
    行字段,           ← 必需:行方向分组数据
    列字段,           ← 必需:列方向分组数据(可为空)
    值字段,           ← 必需:要聚合的数据
    函数,             ← 必需:聚合方式(SUM/AVERAGE/COUNT等)
    [是否具有标头],    ← 可选:0=无, 1=有但隐藏, 2=有且显示, 3=有且显示+排序
    [行总计选项],      ← 可选:0=无, 1=总计, 2=小计+总计
    [行字段排序方式],   ← 可选:正数=升序, 负数=降序
    [列总计选项],      ← 可选:同上
    [列字段排序方式],   ← 可选:同上
    [筛选条件],        ← 可选:布尔值数组过滤数据
    [相对占比]         ← 可选:计算百分比基准
)

三、参数详解

参数必需说明
row_fields行方向分组依据的列数据
col_fields列方向分组依据的列数据(一维分析时留空)
values需要聚合计算的数值列
function聚合函数(SUM/AVERAGE/COUNT/MAX/MIN/PERCENTOF等)
field_headers是否包含标题行(推荐用3)
row_total_depth行方向总计深度(0/1/2)
row_sort_order行排序规则(列索引号,负数为降序)
col_total_depth列方向总计深度(0/1/2)
col_sort_order列排序规则
filter_array筛选条件数组
relative_to百分比计算基准

四、实用示例

示例 1:按销售员分类汇总(一维分析)

=PIVOTBY(C7:C11, , F7:F11, SUM)
  • C7:C11:销售员字段(行)
  • 留空:无列字段(一维汇总)
  • F7:F11:销售额字段
  • SUM:求和

效果:生成销售员 × 销售额的汇总表


示例 2:按产品类别和地区交叉透视(二维分析)

=PIVOTBY(D7:D11, E7:E11, F7:F11, SUM)
  • D7:D11:产品类别(行)
  • E7:E11:地区(列)
  • F7:F11:销售额
  • SUM:求和

效果:生成产品类别 × 地区的交叉透视表


示例 3:多表合并透视

将7月、8月、9月三个表合并透视:

=PIVOTBY(
    VSTACK('7月:9月'!A2:A30),   ← 合并日期作为行
    VSTACK('7月:9月'!B2:B30),   ← 合并产品作为列
    VSTACK('7月:9月'!C2:C30),   ← 合并销量作为值
    SUM
)

示例 4:文本透视(值班表转换)

将一维值班表转为二维显示:

=PIVOTBY(A2:A19, B2:B19, C2:C19, ARRAYTOTEXT, , 0, , 0)
  • ARRAYTOTEXT:将多个文本用逗号合并
  • ,0,,0:不显示行总计和列总计

示例 5:带小计和排序的复杂分析

=PIVOTBY(
    运动观众[[运动]:[地区]],  ← 多列行字段
    运动观众[年份],           ← 列字段
    运动观众[观众],           ← 值字段
    SUM,                     ← 聚合方式
    ,                        ← 跳过field_headers
    2,                       ← 显示小计和总计
    3                        ← 按第3列升序排序
)

示例 6:计算百分比占比

=PIVOTBY(
    运动观众[运动],
    运动观众[年份],
    运动观众[观众],
    PERCENTOF,   ← 百分比函数
    ,            ← 跳过
    ,            ← 跳过
    2,           ← 按值排序
    ,            ← 跳过
    ,            ← 跳过
    ,            ← 跳过
    2            ← 相对于总计
)

效果:显示各运动项目占年度总观众的百分比


五、注意事项

注意点说明
版本要求仅 Excel 365 最新版本支持,Excel 2024及更早版本无此函数
#SPILL! 错误结果区域被占用时显示,需清空下方单元格
动态数组结果自动扩展,不可在区域内插入内容
多列支持行字段和列字段均可选择多列
高阶函数支持 LAMBDA 自定义聚合逻辑

六、与 GROUPBY 的区别

特性GROUPBYPIVOTBY
维度仅行分组(一维)行+列分组(二维)
场景简单分类汇总交叉透视分析
参数数量7个11个
关系基础版加强版(包含GROUPBY所有功能)

七、最佳实践建议

  1. 使用表格结构化数据:将数据源转为 Excel 表格(Ctrl+T),公式会自动扩展
  2. 配合其他新函数
  • VSTACK/HSTACK:多表合并
  • CHOOSECOLS:选择特定列
  • LET:定义变量简化公式
  1. 条件格式美化:对总计行/小计行设置不同背景色
  2. 启用自动换行:文本透视时需设置单元格格式

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注