这是一个来自读者的求助:收到不规范的数据表,创建的人很随意,使用的人很痛苦。
比如本案例中的三列姓名,可能是从不同的数据列复制粘贴过来的,非常随性。但要作为源数据显然不行,需要先将它们变成一维表。
大多数情况下都是转换为列,但本案例的求助者需要转换为一行数据。怎么操作?
案例:
将下图1的二维区域转换为一列横向的姓名,效果如下图2所示。
本文教大家两种解决方案,各有优势,看君喜好。
解决方案1:“=”号法
1.将2至4行的数据区域复制粘贴到A7单元格右边
2.在第一行数据区域的右边(本案例中为E7单元格)中输入公式:=B8
3.向下向右拖动公式
有关“=”在此处的用法原理,非常简单,大家稍微看一下公式就能理解了,所以不多赘述。
类似的用法,之前我给大家分享过一个案例如何转换为一列。详情请参阅Excel–一列转多列,多列转一列,一个“=”搞定。
4.复制公式区域-->选择菜单栏的“开始”-->“粘贴”-->“数值”
5.删除没有姓名的I列
6.删除第8、9行
现在就完成了横向一维表的转换。
解决方案2:PowerQuery
1.选中数据表的任意区域-->选择菜单栏的“数据”-->“从表格”
2.在弹出的对话框中点击“确定”
表格已上传至PowerQuery。
3.选中所有列-->选择菜单栏的“转换”-->“逆透视列”
4.保持选中所有列-->选择菜单栏的“转换”-->“转置”
5.因为PowerQuery处理的是超级表,所以必需有标题,这个是跟普通数据表有差异的地方。
选择菜单栏的“转换”-->“将第一行用作标题”
6.选择菜单栏的“主页”-->“关闭并上载”-->“关闭并上载至...”
7.在弹出的对话框中选择“现有工作表”-->选择所需上传的位置-->点击“加载”
以下就是转换后的结果。
左边的表格今后若有更新,只需要刷新右边的表格就能保持同步更新。
很多同学会觉得Excel单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解Excel的各个知识点。