根据电子邮件地址创建单独的列,使用 Excel 或 SQL

Create separate column based on email address, using Excel or SQL

我在 Excel 中有一列包含以下内容

Employee
Mickey D. Mouse mickey@disney.com

我希望它看起来像

Employee || Email
Mickey D. Mouse || mickey@disney.com

在 Excel 中,如果我使用文本分栏,它看起来像这样

Mickey || D. || Mouse || mickey@disney.com

那么我怎样才能只在电子邮件上分开,并将姓名留在一栏中呢?

请在Excel或SQL中提供帮助。

在Excel中,假设您的完整数据与问题中描述的一致,您可以使用以下方法。

假设源数据在单元格 A1 中,那么单元格 C1 中的公式将是

=TRIM(RIGHT(SUBSTITUTE(A1," ",REPT(" ",99)),99))

然后在B1下面得到剩下的就可以执行了

=TRIM(SUBSTITUTE(A1,C1,""))

好的,我刚收到 https://www.extendoffice.com/documents/excel/1272-excel-extract-email-address.html

发来的邮件
=IFERROR(TRIM(RIGHT(SUBSTITUTE(LEFT(AL2,FIND(" ",AL2&" ",FIND("@",AL2))-1)," ",REPT(" ",LEN(AL2))),LEN(AL2))),0)

并用

提取名称
=IF(J2=0, (LEFT(H2, SUM(LEN(H2)-LEN(J2)))), (LEFT(H2, SUM(LEN(H2)-LEN(J2)-1))))