设为首页收藏本站

嘻皮客娱乐学习网

 找回密码
 中文注册
搜索
打印 上一主题 下一主题
开启左侧

[OFFICE] excel中按分隔符把单元格内文字变成数组

[复制链接]
跳转到指定楼层
楼主
发表于 2018-10-25 12:13:56 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
在下图中,B3单元格内的文字 :北京、内蒙古、河北、山西、陕西、甘肃、青海、新疆
我们有时候需要把它变成像B10中的那样的数组形式:{"北京";"内蒙古";"河北";"山西";"陕西";"甘肃";"青海";"新疆"}
如果手动改会很麻烦,可以直接用下面的公式达到目的:

=TRIM(MID(SUBSTITUTE(B3,"、",REPT(" ",LEN(SUBSTITUTE(B3,"、","")))),ROW(INDIRECT("1:"&(LEN(B3)-LEN(SUBSTITUTE(B3,"、",""))+1)))*LEN(SUBSTITUTE(B3,"、",""))-(LEN(SUBSTITUTE(B3,"、",""))-1),LEN(SUBSTITUTE(B3,"、",""))))

其中的 B3 就是文字所在单元格地址,“、” 这个顿号是文字的分隔符。如果分隔符是其他的符号,就在公式中改成相应的符号。

其原理如下: TRIM(MID(SUBSTITUTE(A1,"分隔符",REPT(" ",除去分隔符后的全部文字个数)),ROW(1:被分隔符分成的个数)*除去分隔符后的全部文字个数-(除去分隔符后的全部文字个数-1),除去分隔符后的全部文字个数))



回复

使用道具 举报

小黑屋|手机版|嘻皮客网 ( 京ICP备10218169号|京公网安备11010802013797  

GMT+8, 2024-5-27 00:17 , Processed in 0.169361 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表