漫谈Excel数据分列常用5种方法
的有关信息介绍如下:工作中,有时候会把从其他地方拿来的数据导入到Excel进行分析,有可能每行数据都在一个单元格中,通常有5种比较快的方法可以把数据分列出来:快速填充;分列;函数;Power Query;VBA自定义函数。
我们先把数据导入到Excel中,如图所示。
方法一:快速填充
选中B2单元格,输入包子,按Enter定位到B3单元格中,按Ctrl+E,惊喜的发现所有姓名都被分列出来了。
按照步骤1把所有的其他信息都提取出来。此方法仅适用于Excel 2013/2016版本。此方法稍微比较慢
方法二:分列
选中A2:A20数据区域,数据选项卡,分列
下一步,分隔符号选择逗号
下一步,目标区域选择$2$2
完成。所有数据都分列出来了,是不是觉得比方法一要快很多呢。但是当A列数据发生变化的时候其他列数据不会随着发生变化。
方法三:函数
在A2单元格中输入=LEFT(A2,FIND(",",A2)-1)
在B2单元格中输入=MID(A2,FIND(",",A2)+1,FIND("@",SUBSTITUTE(A2,",","@",2))-FIND(",",A2)-1)
在C2单元格中输入=MID(A2,FIND("@",SUBSTITUTE(A2,",","@",2))+1,FIND("@",SUBSTITUTE(A2,",","@",3))-FIND("@",SUBSTITUTE(A2,",","@",2))-1)
在D2单元格中输入
=RIGHT(A2,LEN(A2)-FIND("@",SUBSTITUTE(A2,",","@",3)))
是不是觉得太复杂了,头都大了,关于函数解释这里面就不在细说了,有机会再给大家解释。求这个案例的函数方法有很多,仅此代表个人理解。
方法四:Power Query
Power Query是Power Bi系列组件之一,具有非常强大的数据清洗能力,功能非常强大。(注:Excel 2013版本需要到微软官网下载Power Query插件;Excel 2016版本自带此功能)
选中A2:A20区域—数据选项卡—从表格
打钩包含标题,出现如图所示界面
选择开始选项卡—拆分列,如图所示
所有数据已被拆分
开始—关闭并上载
数据已经被加载到Excel中了
当源数据的信息发生变化时,我们只需要在新生成的数据表中,右击刷新即可完成数据更新。
方法五:VBA自定义函数
Alt+F11打开VBE编辑器
在下图红框框处右击,插入模块
在右侧“通用”下方输入如下图所示的自定义函数
回到Excel中,在B2单元格中输入=DSplit($A2,",",COLUMN(A1)) (注:Dsplit为刚才定义的函数,column(A1)等于1,也就是得到第一部分联系人的信息)
向右,向下拖拽鼠标,得到所有的结果。
带Vba的工作簿保存的时候要选择Excel启用宏的工作簿
最后:5种方法各有利弊,选择合适自己的才是最好的。