从一行中挑选电子邮件

我有超过10万行类似于:

Joe | 123 | email@domain.com Bob | 456 Ben | 567 | Denver | email@email.com 

电子邮件可以在该行的任何点/单元格中,并且一些单元格中包含@。

我怎么能得到以下输出:

 Joe | email@domain.com Bob | Ben | email@email.com 

或者只是将电子邮件地址标记到行的末尾,然后隐藏其他列?

我尝试了各种各样的零碎东西,但是却变得不快。

现在,我知道你可以在每一列中都添加一列,在列A左边添加一列。在你的例子中,你有B1 =“Joe”等

然后把这个公式放在A1:

 =IFERROR(OFFSET(A1,0,SUM(IFERROR(IF(FIND("@",$B1:$O1)>0,1,0),0)*COLUMN($B1:$O1))-1),"") 

调整范围$ B1:$ O1以符合您的需求。 我build议你尽可能使它尽可能紧凑,因为数组公式是资源密集型的。

========================

如果电子邮件地址总是位于给定行的最后一列,并且直到最后一个值的行中没有任何空格,则可以这样做:

首先,在列A左边添加一列。在你的例子中,你有B1 =“Joe”等。

然后,把这个公式放在单元格A1中

 =OFFSET(A1,0,COUNTA($B1:$XFD1)) 

并将其拖放到所有行上。 (我正在使用Excel 2010,因此在上面的公式中使用了XFD。如果您觉得合适,请调整,只要确保使用覆盖数据集最大列数的范围)

真的有点有趣。 使用@和字体样式粗体replace名称,然后replace为全部replace@ 。 复制到Word,select全部,find什么: *字体不粗体,使用通配符,并没有任何代替。 复制到Excel并转到特殊,空白。 右键单击其中一个选项,然后单击Delete …,将单元格左移。