excel 字符串拆分方法?

现有EXCEL表格一张,A1里面是 张三*性别*年龄*电话
如 张三*男*25*123456,现在想在A2里填写张三 A3里写男 A4里写25 A5里写123456
如何实现,我需要两种办法,公式法和VBA法。给个思路也行。

方法一:

1、在A2单元格输入以下公式,然后向下填充公式到A4

=TRIM(RIGHT(SUBSTITUTE(LEFT(A$1,FIND("座",SUBSTITUTE(A$1,"*","座",ROW(A1)))-1),"*",REPT(" ",99)),99))

2、在A5单元格输入

=RIGHT(A$1,LEN(A1)-FIND("座",SUBSTITUTE(A$1,"*","座",3)))

方法二:选择数据区域 ,在“数据”选项下的“分列”中,以“*”作为分隔符分列,分列后,复制,并“选择性粘贴”为“转置”,即可。

 

详见附图

 

 

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-09-19
首先你同一列的字符是否规律。有规律的可以用分列(分列里也分几种分列方式)。或者看看能否用字符提取公式做,right(),left(),mid(),len()相结合。你没有上传你的东西上来无法具体回答。
第2个回答  2010-09-02
看得不太明白。但应该可以帮你。
如果是“张三*男*25*123456”的格式
选中单元格,点“数据”—“分列”—“分列符号”下一步—其他(符号)中输入“*”—完成。
原来就变成:张三 男 25 123456本回答被提问者采纳
第3个回答  2018-04-02
优化了一下上一个回答者的函数:
优化1:分割结果可以横向使用;(原答案只能下拉使用的)
优化2:分割的最后一个字符串会出错;
---------优化后函数如下---------
分割后第一个字符串:=TRIM(RIGHT(SUBSTITUTE(LEFT(A$1,FIND("座",SUBSTITUTE(A$1,"*","座",1))-1),"*",REPT(" ",99)),99))
分割后第二个字符串:=TRIM(RIGHT(SUBSTITUTE(LEFT(A$1,FIND("座",SUBSTITUTE(A$1,"*","座",2))-1),"*",REPT(" ",99)),99))
分割后第三个字符串:=TRIM(RIGHT(SUBSTITUTE(LEFT(A$1,FIND("座",SUBSTITUTE(A$1,"*","座",3))-1),"*",REPT(" ",99)),99))