Excel中含分组与子分组的表格转置方法咨询
如何在Excel中转置带分组结构的表格
需求:将原表格转换为指定结构,列标题包含分组名称(Sophia、Anna)和子分组年份,行标题为水果名称,同时将非共同水果合并为「Other」行并汇总数值。
原表格
| 2007 | 2008 | ||
|---|---|---|---|
| Sophia | Avocado | 20 | 30 |
| Sophia | Blueberry | 100 | 300 |
| Sophia | Lemon | 50 | 70 |
| Sophia | Strawberry | 200 | 400 |
| Anna | Blueberry | 400 | 500 |
| Anna | Strawberry | 100 | 200 |
| Anna | Orange | 40 | 50 |
| Anna | Apple | 50 | 70 |
目标表格
| Sophia | Anna | |||
|---|---|---|---|---|
| 2007 | 2008 | 2007 | 2008 | |
| Blueberry | 100 | 300 | 400 | 500 |
| Strawberry | 200 | 400 | 100 | 200 |
| Other | 70 | 100 | 90 | 120 |
方法一:Power Query(高效可复用)
- 导入数据到Power Query
选中原表格数据,点击「数据」→「从表格/范围」,确认数据含标题后进入编辑器。 - 标记水果分类
添加自定义列,输入公式:= if List.Contains({"Blueberry","Strawberry"}, [Column2]) then [Column2] else "Other",将列名改为「水果分类」。 - 分组求和
选中「Column1(分组名)」和「水果分类」列,点击「转换」→「分组依据」,设置:- 分组依据:
Column1、水果分类 - 添加两个求和列:分别对2007、2008列求和
- 分组依据:
- 透视生成目标结构
选中「Column1」列,点击「转换」→「透视列」,值列选两个求和列,高级选项选「不要聚合」。 - 加载并调整格式
点击「关闭并上载」到新工作表,手动将生成的列标题(如Sophia_2007)拆分合并为双层表头即可。
方法二:透视表手动操作(临时需求适用)
- 插入透视表
选中原数据,插入透视表:行区域拖入「水果名称」,列区域依次拖入「分组名」「年份」,值区域拖入2007、2008列并设置为求和。 - 合并非共同水果
在透视表行标签中,选中除Blueberry、Strawberry外的所有水果,右键→「组合」,将组合名称改为「Other」,系统自动汇总数值。 - 调整表头
透视表默认生成双层列标题(分组名在上、年份在下),直接调整列宽和对齐方式即可匹配目标样式。
内容的提问来源于stack exchange,提问作者user22999077
相关产品推荐
相关产品推荐

