昨天秦老师的交流群里给我们抛出了一个问题,如何把一列2000行的数据转成4列?这个题其实不难,给大家分享一下我的几种方法吧。
第一种:查找替换法
随手列举了2000行数据,就从1到2000了,这个中间你换成文本的数据也无所谓哈,如:
在旁边空白的单元格创建这种数据:
直接手动输入两行,剩下的就直接下拉填充就可以了。选中这组准备好的数据后,用Ctrl+H调出查找对话框,输入如下内容:
点击全部替换:
瞬间完成替换,最后直接复制粘贴为数值即可去掉公式了。
这个是横向排列的,如果要竖向排列,也就是一列500个数据,也同样可以这样操作。如:
用刚才的查找替换:
也是分分钟的事情。
第二种:借助Word
直接将原始数据复制进word之中,注意粘贴的时候选择只保留文本,不要直接复制粘贴:
全选所有,点击插入工具栏下的表格,下拉菜单中选择“文本转换成表格”:
弹出对话框,设置如下:
确定即可:
也是瞬间搞定,再将此数据粘贴到Excel中就可以了。
但是这个只能是这种横向的排列方式,稍微有点欠缺。
第三种:函数法
在空白单元格中输入:
公式为:=OFFSET($A$1,COLUMN(A1)-1+(ROW(A1)-1)*4,)
然后拖拽填充就可以了。
如果要竖着排列也没问题:
公式为:=OFFSET($A$1,ROW(A1)-1+COLUMN(A1)*500-500,)
然后拖拽填充就可以了。
第四种:Power Query直接转换
众所周知,PQ就是对数据进行整理和转换的,不过需要借助M函数,对小伙伴的技能需要一定的要求。
点击数据工具栏下的自表格区域,不要勾选表包含标题,因为这个没有标题,如果你有标题的话,就要勾选表包含标题了。
点击确定进入到PQ之中:
点击公式编辑栏的fx,也就是新增步骤,直接在里面输入:
公式:
= Table.FromColumns(List.Transform(,each List.Range(源[列1],_*500,500)))
如果小伙伴需要横向排列,也是可以通过这种方法的。
公式是:
= Table.FromRows(List.Transform(,each List.Range(源[列1],_*4,4)))
最后同样是关闭并上载即可得到新的已经分好列的工作表了。
方法千万种,选择最适合自己的就好了。
领取专属 10元无门槛券
私享最新 技术干货