excel 如何将含有@的邮箱地址从那一单元格中分离

来源:百度知道 编辑:UC知道 时间:2024/09/13 02:26:40
总共有几千行数据
每一行只有一列
每格里面包括:
1. 英语公司名(公司名有长有短, 有的几个单词有的一个单词, 单词间有空格)
2. 公司名与EMAIL地址间有空格
3. EMAIL地址后面空格, 然后是电话号码的数字.

如何实现公司名, EMAIL地址, 电话号码分列变成整齐的三列?
麻烦的是公司名字有长有短空格数也不等.
实在不行, 光分离EMAIL地址也行.
高分求答案.

比如:
HUNGWOO INTERNATIONAL INC. kiyeon60@hotmail.com 822-3442-2881
MAS CORPORTION altekpk@fsd.comsats.net.pk 0092-41-610245
BIN ZAFRA GROUP abdsamadbai@hotmail.com 96656282634
INDUTRIAL MARKETING CORP. bizmate@dhaka.net 880-2-7310743
MANSING CO. julioyc@hknet.com 760-357-3027
CFA PRODUCTS INC. homersong@hotmail.com 630-477-0288
A.C. TECH. LTD. avnerco@shani.net 972-9-8329449
G.D.NASEEB TRADING CO. L.L.C (NASEEB GROUP OF COMPANIES) naseeb@emirates.net.ae 0097142224848

假设HUNGWOO INTERNATIONAL INC. kiyeon60@hotmail.com 822-3442-2881
在A1,经过两次数据分列(分别用@ 和空格 " ")后,
B1=hotmail.com
C1=822-3442-2881
在D1输入:
=FIND(" ",$A1)
在E1输入:
=IF(ISERROR(FIND(" ",$A1,D1+1)),D1,FIND(" ",$A1,D1+1))
然后往右拉公式到L1(其实可以拉更远)
在M1输入:
=MAX(D1:L1)
在N1输入:
=MID(A1,M1,LEN(A1)-M1+1)
在O1输入:
=CONCATENATE(N1,"@",B1)
在P1输入:
=LEFT(A1,M1-1)
OK.
C1,O1,P1就是你要的了.
其他下拉完成.

1.选中数据
2.菜单中数据-分列-选分隔符号-下一步-在其他符号里输入“@”这个符号-下一步-完成

先用数据分列,选择空格,之后再用公式把错开的调整一下~
如果可以,发送表格到ceo_zl@163.com

用UltraEdit做吧

把那一列copy到ultraeidt中,然后:

启用Perl样式的正则表达式

替换\s([^\s@]+@[^\s@]+?)\s
为\t\1\t

把替换完的文本在copy回EXCEL中,然后:

数据-分列-分隔符号-下一步-TAB-下一步

b1插入名称-定义
qq =SUBSTITUTE(A1," ","#'",LEN(A1)-LEN(SUBSTITUTE(A1," ",)))

b1输入<