Excel · 第 2 篇
透视表与数据汇总
如果只能学 Excel 的一个功能,那一定是透视表。它能在 10 秒内完成你用公式写 30 分钟才能完成的分析。
透视表(Pivot Table)是 Excel 中最强大、也是数据分析师使用频率最高的功能。它能让你用拖拽的方式,快速完成分组统计、交叉分析、多维汇总等操作。
什么是透视表
透视表的本质是一个动态的分组汇总工具。你把字段拖到不同区域,Excel 就自动帮你按照指定维度聚合数据。
它和 SQL 的 GROUP BY 功能非常类似:
| 透视表操作 | 对应 SQL |
|---|---|
| 把”城市”拖到行区域 | GROUP BY city |
| 把”销售额”拖到值区域(求和) | SUM(amount) |
| 把”月份”拖到列区域 | 列转行(PIVOT) |
| 添加筛选器 | WHERE 条件 |
创建第一个透视表
准备数据
透视表要求数据是标准的表格格式:
- 第一行是列名(字段名),不能有合并单元格
- 每一行是一条记录
- 没有空行、空列
- 数据类型一致(同一列不能既有数字又有文本)
示例数据——电商订单表:
| 订单编号 | 日期 | 城市 | 品类 | 渠道 | 销售额 | 数量 |
|---|---|---|---|---|---|---|
| ORD001 | 2025-01-05 | 北京 | 电子产品 | 自然搜索 | 2,580 | 1 |
| ORD002 | 2025-01-05 | 上海 | 服装 | 信息流广告 | 368 | 2 |
| ORD003 | 2025-01-06 | 广州 | 食品 | 老用户推荐 | 125 | 3 |
| … | … | … | … | … | … | … |
创建步骤
- 选中数据区域:点击数据区域任意单元格,然后
Ctrl + A选中全部 - 插入透视表:
插入→数据透视表→ 选择”新工作表”或”现有工作表” - 拖拽字段:在右侧的字段列表中,把字段拖到四个区域
透视表的四个区域
| 区域 | 作用 | 类比 SQL |
|---|---|---|
| 行(Rows) | 按此字段分组,每个唯一值占一行 | GROUP BY |
| 列(Columns) | 按此字段分组,每个唯一值占一列 | PIVOT 列转行 |
| 值(Values) | 对此字段做聚合计算(求和、计数、平均等) | SUM(), COUNT(), AVG() |
| 筛选器(Filters) | 全局筛选条件 | WHERE |
基础操作实战
场景一:按城市统计总销售额
操作:
- 行:城市
- 值:销售额(求和)
结果:
| 城市 | 销售额求和 |
|---|---|
| 北京 | 1,258,000 |
| 上海 | 1,105,000 |
| 广州 | 876,000 |
| 深圳 | 923,000 |
| 成都 | 456,000 |
这就是最简单的分组汇总,等价于:
SELECT city, SUM(amount) AS total_amount
FROM orders
GROUP BY city
ORDER BY total_amount DESC;
场景二:按城市 + 品类交叉分析
操作:
- 行:城市
- 列:品类
- 值:销售额(求和)
结果:
| 城市 | 电子产品 | 服装 | 食品 | 家居 | 合计 |
|---|---|---|---|---|---|
| 北京 | 520,000 | 380,000 | 158,000 | 200,000 | 1,258,000 |
| 上海 | 450,000 | 340,000 | 165,000 | 150,000 | 1,105,000 |
| 广州 | 280,000 | 296,000 | 180,000 | 120,000 | 876,000 |
这就是交叉分析——同时按两个维度汇总,能快速发现”哪个城市的哪个品类卖得好”。
场景三:按月统计订单量趋势
操作:
- 行:日期(自动按月分组)
- 值:订单编号(计数)
技巧:在透视表中,右键点击日期字段 →
组合→ 选择”月”,Excel 会自动按月聚合。
结果:
| 月份 | 订单数量 |
|---|---|
| 1月 | 12,350 |
| 2月 | 10,800 |
| 3月 | 14,200 |
透视表进阶技巧
技巧一:更改汇总方式
默认情况下,数值字段用”求和”,文本字段用”计数”。你可以更改为:
| 汇总方式 | 适用场景 |
|---|---|
| 求和 | 销售额、订单金额 |
| 计数 | 订单数、用户数 |
| 平均值 | 客单价、平均使用时长 |
| 最大值/最小值 | 找极值 |
| 去重计数 | 去重用户数(需 Excel 2013+ 的数据模型) |
操作:点击值区域的字段 → 值字段设置 → 选择汇总方式。
技巧二:显示为百分比
在值字段设置中,切换到”值显示方式”选项卡:
| 显示方式 | 含义 | 应用场景 |
|---|---|---|
| 列总计的百分比 | 每个值占该列总计的比例 | 各城市的品类占比 |
| 行总计的百分比 | 每个值占该行总计的比例 | 每个城市的品类结构 |
| 总计的百分比 | 每个值占全表总计的比例 | 全局占比分布 |
| 差异百分比 | 和前一项的差异百分比 | 环比增长率 |
案例:查看每个城市的品类销售占比。
行:城市 → 列:品类 → 值:销售额(显示为”行总计的百分比”)
| 城市 | 电子产品 | 服装 | 食品 | 家居 |
|---|---|---|---|---|
| 北京 | 41.3% | 30.2% | 12.6% | 15.9% |
| 上海 | 40.7% | 30.8% | 14.9% | 13.6% |
| 广州 | 32.0% | 33.8% | 20.5% | 13.7% |
洞察:广州的食品占比明显高于其他城市(20.5% vs 12-15%),可以针对广州用户加大食品品类的推荐力度。
技巧三:计算字段
透视表可以创建基于现有字段的计算字段。
操作:透视表工具 → 分析 → 字段、项目和集 → 计算字段
案例:创建”客单价”计算字段
客单价 = 销售额 / 数量
技巧四:使用切片器(Slicer)
切片器是透视表的可视化筛选器,比下拉筛选更直观。
操作:选中透视表 → 插入 → 切片器 → 选择字段
切片器的优势:
- 可视化:一眼看到所有选项
- 多选:按住 Ctrl 点击多个选项
- 联动:一个切片器可以同时控制多个透视表
- 美观:适合做仪表板展示
技巧五:数据透视图
透视表可以直接生成图表:
操作:选中透视表 → 插入 → 数据透视图
透视图会随着透视表的更新自动更新,非常适合做动态报表。
多透视表联动分析
在实际工作中,你经常需要从不同角度分析同一份数据。可以基于同一份数据创建多个透视表,并用切片器联动。
案例:电商销售分析仪表板
| 透视表 | 维度 | 指标 |
|---|---|---|
| 透视表 1 | 月份 | 销售额趋势 |
| 透视表 2 | 城市 | 各城市销售排名 |
| 透视表 3 | 品类 x 渠道 | 交叉分析 |
创建一个”月份”切片器,连接到所有三个透视表。当你选择某个月份时,三个透视表同时更新。
连接切片器到多个透视表:
- 右键点击切片器 →
报表连接 - 勾选所有需要联动的透视表
透视表常见问题与解决
问题一:数据更新后透视表没有同步
原因:透视表不会自动刷新。
解决:右键透视表 → 刷新,或者 Alt + F5 快捷键刷新。
问题二:新增的数据行没有被包含
原因:透视表的数据源范围是创建时确定的。
解决:
- 方案一:先把数据转换为”表”(
Ctrl + T),表会自动扩展范围 - 方案二:手动更新数据源范围(透视表工具 → 分析 → 更改数据源)
问题三:日期没有自动分组
原因:日期列中有非日期格式的值(比如文本)。
解决:先清洗日期列,确保全部是日期格式,然后重新创建透视表。
问题四:想要去重计数但找不到
原因:标准透视表不支持 DISTINCT COUNT。
解决:创建透视表时勾选”将此数据添加到数据模型”,然后在值区域选择”非重复计数”。
实战案例:用透视表做月度销售分析
数据背景
你是一家快消品公司的数据分析师,拿到了 2025 年 Q1 的销售数据(约 5 万行),包含字段:日期、区域(华北/华东/华南/华西)、产品线(饮料/零食/日化)、渠道(线上/线下)、销售额、销售数量。
分析需求
- Q1 整体销售趋势如何?
- 哪个区域表现最好?
- 各产品线的增长情况如何?
- 线上 vs 线下的占比变化趋势?
操作步骤
分析一:月度销售趋势
- 行:日期(按月分组)
- 值:销售额(求和)、订单数(计数)
| 月份 | 销售额 | 订单数 | 客单价 |
|---|---|---|---|
| 1月 | 3,200万 | 85,000 | 376元 |
| 2月 | 2,800万 | 72,000 | 389元 |
| 3月 | 3,600万 | 95,000 | 379元 |
洞察:2 月受春节假期影响,销售额环比下降 12.5%,但客单价上升(礼盒装拉动)。3 月强势恢复。
分析二:区域销售排名
- 行:区域
- 值:销售额(求和)、销售额(行总计的百分比)
- 排序:按销售额降序
| 区域 | 销售额 | 占比 |
|---|---|---|
| 华东 | 3,500万 | 36.5% |
| 华南 | 2,800万 | 29.2% |
| 华北 | 2,100万 | 21.9% |
| 华西 | 1,200万 | 12.5% |
分析三:产品线增长分析
- 行:产品线
- 列:月份
- 值:销售额(显示为”差异百分比”,基本字段选”月份”)
| 产品线 | 1月→2月增长 | 2月→3月增长 |
|---|---|---|
| 饮料 | -18.0% | +35.0% |
| 零食 | -5.0% | +22.0% |
| 日化 | -8.0% | +15.0% |
洞察:饮料品类波动最大,季节性明显。零食品类最稳定。
分析四:线上 vs 线下占比趋势
- 行:月份
- 列:渠道
- 值:销售额(列总计的百分比)
| 月份 | 线上 | 线下 |
|---|---|---|
| 1月 | 38.0% | 62.0% |
| 2月 | 45.0% | 55.0% |
| 3月 | 42.0% | 58.0% |
洞察:2 月线上占比明显上升(春节期间线下门店休息,线上需求增加)。
透视表 vs SQL vs Python
| 对比维度 | 透视表 | SQL | Python (Pandas) |
|---|---|---|---|
| 学习成本 | 低 | 中 | 高 |
| 数据量 | <100 万行 | 不限 | 取决于内存 |
| 交互性 | 极强(拖拽) | 弱 | 中(Jupyter) |
| 可重复性 | 弱(手动操作) | 强(SQL 脚本) | 强(Python 脚本) |
| 适用场景 | 快速探索、汇报 | 大数据分析 | 复杂计算、建模 |
最佳实践:用 SQL 从数据库拉出中间表 → 导出为 Excel → 用透视表做交互式分析和汇报。
练习题
-
使用一份包含”日期、城市、产品、销售额、数量”的数据,创建一个透视表,展示各城市各月的平均客单价。
-
创建两个透视表(一个展示月度趋势,一个展示城市排名),并用一个”产品”切片器联动控制。
-
运营同学问你”3 月华东区域食品品类的销售额是多少”。请用透视表在 10 秒内回答。
小结
| 要点 | 说明 |
|---|---|
| 透视表本质 | 动态分组汇总工具,类似 SQL 的 GROUP BY |
| 四个区域 | 行、列、值、筛选器——拖拽组合出各种分析 |
| 关键技巧 | 更改汇总方式、百分比显示、切片器、计算字段 |
| 联动分析 | 多个透视表 + 切片器联动 = 简易仪表板 |
| 适用场景 | 快速探索、交互分析、中小数据集汇报 |
下一篇我们将学习 常用函数与公式——VLOOKUP、IF、SUMIFS 等数据分析师最常用的 Excel 函数。