本篇文章给大家带来了关于excel的相关知识,其中主要介绍了关于如何把混合在同一单元格中的姓名拆分成一列的相关内容,下面一起来看一下,希望对大家有帮助。
相关学习推荐:excel教程
如何把混合在同一单元格中的姓名拆分成一列。
先看数据源和最终效果:
远古青年:
D2单元格输入公式,下拉到出现空白为止。
太长了,左右拖动滑块,可查看完整公式~~
=TRIM(MID(SUBSTITUTE(B$2&"、"&B$3&"、"&B$4&"、"&B$5&"、"&B$6&"、"&B$7&"、"&B$8&"、"&B$9,"、",REPT(" ",199)),ROW(A1)*199-198,199))
公式的意思是先把各个单元格中的字符连接到一起,然后将每个间隔符“顿号”都替换成199个空格,这样就相当于拉大了各个姓名之间的间隔距离(和做核酸类似,越远越好~~)
然后使用MID函数在第1、第199、第398……个字符处,提取出199个字符。这些字符是包含姓名和多余空格的,所以最后用TRIM函数去掉多余空格。
这个公式的缺点就是太长了,数据行数多了还可能会出问题,优点是可以在任意Excel版本中使用。
近代青年:
单击数据区域任意单元格,在【数据】选项卡下单击【来自表格/区域】,将数据加载到数据查询编辑器里。
右键删除部门列(如有需要可保留)。
单击姓名列,选择【拆分列】→【按分隔符】,此时Excel会自动分析咱们的数据,并给出拆分建议。
选择【高级选项】→【拆分到行】
最后【关闭并上载】到工作表里。
此方法适合在Excel 2016及以上版本中使用,使用2010、2013版本的小伙伴,通过安装Power Query插件也可以实现。
现代青年:
D2单元格输入以下公式,按回车:
=TEXTSPLIT(CONCAT(B2:B9&"、"),,"、")
这个公式简单明了,而且运算效率高。美中不足的是目前仅允许安装了Office 365并且加入Office 预览体验计划的小伙伴使用。
TEXTSPLIT函数的作用是按照特定的分隔符拆分字符串。
写法是这样的:
TEXTSPLIT(文本,列分隔符,[行分隔符],[是否忽略空值],[填充文本])。
本例中省略了最后两个参数。
先使用CONCAT(B2:B9&”、”),把B2:B9单元格的内容连接到一起,每个单元格之间用逗号隔开,得到的结果作为待拆分的字符串。
然后使用TEXTSPLIT函数将连接后的字符串按顿号拆分成一列显示。
如果希望将数据拆分成一行显示,公式可以换成这样:
=TEXTSPLIT(CONCAT(B2:B9&"、"),"、")
相关学习推荐:excel教程