【发布时间】:2021-12-23 06:14:22
【问题描述】:
尝试使用以下公式从 Excel 工作表的列中提取电子邮件:
=TRIM(MID(SUBSTITUTE(" "&$A1&" "," ",REPT(" ",40)),
FIND(REPT("@",COLUMNS($A1:A1)),SUBSTITUTE
(SUBSTITUTE(" "&$A1&" "," ",REPT(" ",40)),"@",REPT("@",COLUMNS($A1:A1)),COLUMNS($A1:A1)))-40,80))
该公式在大部分情况下都有效,但某些记录仍包含其他文本。
例如,其中一条记录如下所示:
**TEST** John Beasley,jbeasley@usa.com,7575551212
使用上面的公式后,我得到以下结果:
Beasley,jbeasley@usa.com,7575551212
这是另一个例子:
USA-USA/J Beasley/jbeasley@usa.com/757-555-1212
使用公式后的结果:
Beasley/jbeasley@usa.com/757-555-1212
以下是公式何时起作用的示例(之前):
**US AMA TES DATA** John Beasley, jbeasley@usa.com
这会产生以下结果:
jbeasley@usa.com
所以公式有效,但也无效。
如何编写公式以便提取除实际电子邮件地址之外的所有内容?
【问题讨论】:
-
如果您可以访问
LAMBDA()功能,您可以查看here,在那里您会找到一个通用的“split”函数以及Scott 提供的xpath 表达式.如果您不知道具体的分隔符,只需将所有字符都塞进去,您可以看到它们的子字符串。
标签: excel excel-formula formula trim