关于一列转置成三列的方法,除了之前分享过的几个公式,用 PQ 更简单,因为表格的格式转换本就是 PQ 的强项呀。
案例:将下图 1 中 A 列的每三行横向转置,最终形成一个三列的数据表。效果如下图 2 所示。
1. 选中数据表的任意单元格 --> 选择工具栏的“数据”-->“来自表格/区域”
2. 在弹出的对话框中保留默认设置 --> 点击“确定”
表格已经上传至 Power Query。
3. 选择工具栏的“添加列”-->“索引列”
4. 在弹出的对话框中选择“添加列”-->“自定义列”
5. 在弹出的对话框中输入以下公式 --> 点击“确定”:
Number.Mod([索引],3)+1
公式释义:
Number.Mod 就相当于 Excel 中的 mod 函数,作用是计算两数相除的余数;索引列除于 3 的余数依次为 0、1、2、0、1、2...;
将余数 +1,就得到 1、2、3 不断循环的序列;
6. 再次选择工具栏的“添加列”-->“自定义列”
7. 在弹出的对话框中输入以下公式 --> 点击“确定”:
Number.RoundDown([索引]/3)+1
公式释义:
Number.RoundDown 函数的作用是向下取整;
此处的公式就是将索引列的每个值除以 3 的商向下取整,结果为 0、0、0、1、1、1、2、2、2...;
再给上述结果 +1,于是生成 1、1、1、2、2、2、3、3、3 ... 的序列
8. 删除“索引”列。
9. 选中“自定义”列 --> 选择工具栏的“转换”-->“透视列”
10. 在弹出的对话框中点开“高级选项”--> 在“聚合值函数”下拉菜单中选择“不要聚合”--> 点击“确定”
11. 删除“自定义.1”列。
12. 按需修改所有标题。
13. 选择工具栏的“主页”-->“关闭并上载”-->“关闭并上载至”
14. 在弹出的对话框中选择“表”--> 选择“现有工作表”及所需上传至的位置 --> 点击“确定”
右侧绿色的表格就是所需的结果。