前一篇我教了大家如何巧用数据透视表,实现一对多查询的需求,具体可参见 。
但同时我也说了,用数据透视表只能一对多查询数据,而无法查询文本。
那么文本的一对多查询就没有简单方法了吗?当然不是。
今天教大家用 Power Query 实现这个需求,操作步骤和实现原理其实跟数据透视表几乎一样。
案例:
一对多查找下图 1 中每个班级的所有学生,横排或竖排成二维表,效果如下图 2 或 3 所示。
解决方案:
1. 在 C 列增加辅助列 --> 选中 C2:C19 区域 --> 输入以下公式 --> 按 Ctrl+Enter 回车:
=COUNTIF($A$2:A2,A2)
这一步跟数据透视表中的操作完全一样,目的是统计每个班级在区域内第几次出现。
* 请注意:
- 辅助列的标题不得为空
- 不要用错单元格的绝对和相对引用
2. 选中数据表的任意单元格 --> 选择菜单栏的“数据”-->“从表格”
3. 在弹出的对话框中点击“确定”
4. 数据表已经上传到 Power Query 中,选中“辅助”列 --> 选择菜单栏的“转换”-->“透视列”
5. 在弹出的对话框中进行以下设置 --> 点击“确定”:
- 值列:姓名
- 高级选项/聚合值函数:不要聚合
现在表格已经在 Power Query 中实现了横向一对多查询。
6. 点击左上角的下拉箭头 --> 选择“关闭并上载”
Excel 中会新建一个工作表,其中就是我们想要的一对多查询结果。
7. 隐藏第一行,就得到了最终表格。
8. 如果要将每个班级的人名纵向排列,只需要在前面第 4 步中,改成选中“班级”列 --> 选择菜单栏的“转换”-->“透视列”
9. 在弹出的对话框中进行以下设置 --> 点击“确定”:
- 值列:姓名
- 高级选项/聚合值函数:不要聚合
10. 点击左上角的下拉箭头 --> 选择“关闭并上载”
表格就转换成纵向排列了。
11. 隐藏第一列,搞定。
很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。
现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。