Excel分组行转列(Power Query透视列,一维表转二维表)

本文介绍了如何使用Excel的Power Query功能将一维表转换为二维表,通过具体步骤演示了从数据导入到使用透视列进行转换的过程,最终实现一维数据的行列互换,达到数据整理的目的。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL的行转列,知道吧!不知道也没关系,往下看!!!

如何把一维表转成二维表(行转列/透视列);

这里我们使用的是Excel内置的PowerQuery功能;

笔者使用的版本是:2019;

效果

表现状

在这里插入图片描述

目标表

在这里插入图片描述

步骤

1、数据 》自表格/区域;

在这里插入图片描述

2、主页》选择列;

在这里插入图片描述

3、去除无用的列;

在这里插入图片描述

4、选中【科目】,转换》

### 将一维数据换为二维表Power Query 中实现一维数据至二维表换,通常涉及创建新的来容纳原本在一维结构中的数据。具体操作可以通过添加索引、分组以及展开等方法完成。 对于希望将一维数组或转化为具有特定行数和数的二维表格的情况,在 Power Query 编辑器内可以采用如下方式: #### 方法概述 1. **加载并查看初始数据** 2. **添加自定义以计算新位置** 3. **按需调整布局** #### 实际操作指南 假设有一系连续编号的数据源,目标是将其重组为指定宽度(的数量)的新表格。 ```m let Source = Table.FromList({1..9}, Splitter.SplitByNothing()), // 创建一个简单的一维序作为例子 AddIndexColumn = Table.AddIndexColumn(Source, "Index", 0, 1), // 添加索引辅助后续处理 CustomColumnFormula = each Number.IntegerDivide([Index], 3), // 假设我们想要每三行为一组 AddedCustom = Table.AddColumn(AddIndexColumn, "GroupID", CustomColumnFormula), GroupedRows = Table.Group(AddedCustom,{"GroupID"},{{"AllData",each _, type table [Column1=nullable number, Index=number, GroupID=number]}}), ExpandedColumns = Table.ExpandTableColumn(GroupedRows,"AllData",{"Column1","Index"}), PivotedColumn = Table.Pivot(Table.TransformColumnTypes(ExpandedColumns, {{"Index", Int64.Type}}, "en-US"), List.Distinct(Table.Column(ExpandedColumns, "Index")), "Index", "Column1"), RemovedOtherColumns = Table.RemoveColumns(PivotedColumn,{"GroupID"}) in RemovedOtherColumns ``` 上述 M 脚本展示了如何利用 `Table` 函数族来进行复杂变换的过程[^1]。这里的关键在于理解每一行代码的作用及其参数设置的意义。 - 使用 `Table.FromList()` 来初始化输入数据集。 - 利用 `Table.AddIndexColumn()` 给原始记录附加唯一标识符以便于追踪各元素的位置关系。 - 定义一个新的字段 `"GroupID"` ,它决定了哪些条目应该被组合在一起形成最终输出的一部分。 - 对含有共同键值的多行执行聚合运算 (`Table.Group()`) 并保留原有细节信息。 - 展开嵌套表格使所有相关联的信息在同一级别显示出来(`Table.ExpandTableColumn()`)。 - 执行透视操作(`Table.Pivot()`)让之前位于不同行下的数值按照设定模式排成横向分布的形式。 - 清理不再必要的中间产物确保只留下期望的结果集。 通过这种方式可以在 Power Query 环境下有效地把线性的项目集合重构成交叉参照式的展示样式[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值