如何从 excel 单元格中的多行字符串中提取电子邮件和姓名

How to extract email & name from multi-line strings in cells in excel

下面的单元格示例。如您所见,有些单元格包含更多信息,包括电子邮件、中间名缩写或姓名,但有些单元格没有。它们都在同一列中。

单元格 1

Smith, James
#129432
123 N. Street Road
 Libertyville, IL, 60048
(810) 955-9721 
claudie.predov@hotmail.com

单元格 2

Evette Tar Rudnick
#7928253
1308 Stutler Lane
Tidioute, PA, 16351

单元格 3

David Ponce C
#1234567
2855 Retreat Avenue
 Frenchboro, ME, 04635
(313) 204-6364

感谢任何帮助。谢谢。

你可以这样试试,

• 单元格 C1

中使用的公式
=FILTERXML("<a><b>"&SUBSTITUTE(A1,CHAR(10),"</b><b>")&"</b></a>","//b[1]")

• 单元格 D1

中使用的公式
=IF(ISNUMBER(FIND("@",A1)),FILTERXML("<a><b>"&SUBSTITUTE(A1,CHAR(10),"</b><b>")&"</b></a>","//b[last()]"),"")

注意: 我假设字符串在单元格内通过换行符分隔,因此使用 CHAR(10)


或者,如果您可以访问 O365 并且当前处于 Insider 的 Beta 频道版本,那么您可以尝试使用 TEXTBEFORE() & TEXTSPLIT() 函数也一样,

• 单元格 E1

中使用的公式
=TEXTBEFORE(A1,CHAR(10),1)

• 单元格 F1

中使用的公式
=IFERROR(INDEX(TEXTSPLIT(A1,,CHAR(10)),6),"")