收到一个求助,将有多个合并列的数据表拆分后变成标准二维数据表,拆分出来的每个数据还要一一对应。
这个需求如果要用函数解决,直接上升到地狱难度,但是如果在 Power Query 里点几下菜单,就轻轻松松搞定。
虽然今天我要教大家解决方案,但是重点不在这里,一直还是那句话,请务必养成良好的源数据整理习惯。
开始今天的案例前,我强烈大家阅读并收藏好这篇 开始数据分析前,先收好这份 开始数据分析前,先收好这份 Excel 数据规范指南,可避过大部分坑。
案例:下图 1 是各部门销售人员的业绩表。不知道设计表格的人怎么想的,竟然把每个部门的所有姓名和业绩统统并在了同一个单元格中,仔细一看,业绩和姓名还一一对应上了。
请将姓名和业绩列中的数据分别拆分到不同的行,且姓名和业绩要一一对应,不可错乱,效果如下图 2 所示。
解决方案:
1. 选中数据表的任意单元格 --> 选择菜单栏的“数据”-->“从表格”
2. 在弹出的对话框中点击“确定”
表格已上传至 Power Query。
3. 选中“姓名”列 --> 选择菜单栏的“主页”-->“拆分列”-->“按分隔符”
4. 在弹出的对话框中按以下方式设置 --> 点击“确定”:
- 选择或输入分隔符:选择“自定义”-->输入“、”
- 拆分位置:选择“每次出现分隔符时”
- 点开“高级选项”--> 在“拆分为”区域选择“行”
5. 点开左侧的“查询”区域 --> 选中“Table1”,右键单击 --> 在弹出的菜单中选择“复制”
6. 选中这个复制出来的查询 --> 在右侧的“查询设置”区域将最后两个步骤删除
7. 选中“业绩”列 --> 选择菜单栏的“主页”-->“拆分列”-->“按分隔符”
8. 在弹出的对话框中按以下方式设置 --> 点击“确定”:
- 选择或输入分隔符:选择“自定义”-->输入“、”
- 拆分位置:选择“每次出现分隔符时”
- 点开“高级选项”--> 在“拆分为”区域选择“行”
9. 选中“查询”中的 Table1 --> 选择菜单栏的“添加列”-->“索引列”-->“从 1”
10. 用同样的方法给第二个查询也添加索引列
11. 选中第一个查询 --> 选择菜单栏的“主页”-->“合并查询”
12. 在弹出的对话框中按以下方式设置 --> 点击“确定”:
- 选中 Table1 的 Index 列
- 在下拉菜单中选择 Table1 (2) --> 选中 Index 列
- “联接种类”保持默认设置
13. 点开 Table1 (2) 右边的扩展按钮 --> 按以下方式设置 --> 点击“确定”:
- 选择“展开”--> 仅勾选“业绩”
- 取消勾选“使用原始列名作为前缀”
14. 删除“业绩”和 Index 列
15. 将最后一列的名称改为“业绩”
16. 选择菜单栏的“主页”-->“关闭并上载”-->“关闭并上载至”
17. 在弹出的对话框中选择“仅创建连接”--> 点击“确定”
18. 现在回到了 Excel,在右侧的“工作簿查询”区域选中 Table1 --> 右键单击
19. 在弹出的菜单中选择“加载到”
20. 在弹出的对话框中选择“表”,选择“现有工作表”及所需上传至的位置 --> 点击“确定”
右侧绿色区域的表格就是拆分后且一一对应的表格。
很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。
现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。
,