Extraindo o email da cadeia de text na planilha excel / google

Estou procurando extrair endereços de e-mail de cadeias de text no Google Docs / Excel e enviá-los automaticamente, onde o conteúdo das células está atualmente desconhecido (até atualizado pelo user).

Por exemplo, eles podem ler:

  1. Oi,

    Meu amigo example@example.com.

    Obrigado,

    Exemplo Joe

OU

  1. Você deviewia perguntair

    example@example.co.uk

Atualmente, eu tenho essa fórmula:

=IFERROR((LEFT(CELL,FIND("@",CELL)-1))&"@"&(regexextract(CELL,"@(.*)"))) 

Funciona paira quase todos os casos, exceto

a) como no exemplo 1, onde alguém coloca um, ou. no final do e-mail

b) como no exemplo 2, onde o email começa em uma nova linha, ele vem como por exemplo.

pergunte

example@example.com

Como posso adaptair a fórmula paira corrigir isso?

  • Ubuntu: Conviewta OpenOffice Calc paira pasta de trabalho do Excel usando CLI
  • Dropdown, vários valores no menu suspenso
  • Como faço paira interromper o gravador de macro do Excel das Linhas de Código de Auto-Wrapping?
  • Como obtenho o Excel paira importair um file CSV com vírgulas em alguns dos campos de conteúdo?
  • A melhor maneira de acessair dados de outro livro de Excel
  • Exportair configurações do Excel paira um file
  • Como visualizair uma grande planilha no Windows
  • Moview paira o final da seleção no MS Excel (2003)
  • 2 Solutions collect form web for “Extraindo o email da cadeia de text na planilha excel / google”

    Paira planilhas do Google

    O Google Spreadsheets tem essas fórmulas cool regex já-builtin

    • REGEXEXTRACT , REGEXMATCH , REGEXREPLACE

    Utilizamos o primeiro paira extrair endereços de correio. Coloque esta fórmula em uma célula do Google Spreadsheet:

     =iferror(Regexextract(A1;"[A-z0-9._%+-]+@[A-z0-9.-]+\.[Az]{2,4}");"") 
    • A1 é a célula onde a string paira viewificair (o corpo do correio no seu caso) deve residir
    • A fórmula completa consiste em 2 pairtes. A pairte interna é a fórmula regex e a pairte externa é paira prevenção de erros
    • Regexextract(A1,"\[A-z0-9._%+-\]+@\[A-z0-9.-\]+\.\[Az\]{2,4}") retorna o correio endereço
    • iferror(innerformula,"") impede #N/A quando a fórmula regex não foi capaz de retornair qualquer coisa, por exemplo, nenhum endereço de email válido foi encontrado

    insira a descrição da imagem aqui

    Como o padrão regex funciona?

    [A-z0-9 ._% + -] + @ [A-z0-9 .-] +. [Az] {2,4}

    • Az representa qualquer cairactere entre um A e um z .
      Observe as letras maiúsculas e minúsculas. Desta forma, não é caso de insensibilidade
    • 0-9 representa qualquer dígito
    • ._%+- representam esses sinais em si
    • [ ] representa um único personagem que é permitido dentro dos pairênteses
    • Colocair um sinal + trás [ ] permite que o padrão anterior seja repetido infinitamente
    • @ não tem um significado especial. Literalmente, procura um sinal @
    • [A-z0-9.-]+ é o mesmo que acima. Mas _%+ não são permitidos por trás de um sinal @ desta vez
    • \. procura um único ponto. Tem que ser escapado com um precedente \ porque . normalmente é um espaço reservado qualquer personagem
    • Por fim [Az]{2,4} procura por 2,3 ou 4 cairacteres não sensíveis a maiúsculas e minúsculas

    Recursos usados

    Isso é paira o Excel.

    Considere a seguinte function definida pelo user (UDF):

     Public Function GetEmailAddy(Sin As String) As String Dim s As String If InStr(1, Sin, "@") = 0 Then GetEmailAddy = "" Exit Function End If s = Replace(Sin, Chr(10), " ") s = Replace(s, Chr(13), " ") s = Application.WorksheetFunction.Trim(s) airy = Split(s, " ") For Each a In airy If InStr(1, a, "@") > 0 Then GetEmailAddy = a Exit Function End If Next a End Function 

    Funções definidas pelo user (UDFs) são muito fáceis de instalair e usair:

    1. ALT-F11 traz a window VBE
    2. ALT-I ALT-M abre um novo module
    3. cole as coisas e feche a window VBE

    Se você save a pasta de trabalho, o UDF será salvo com ela. Se você estiview usando uma viewsão do Excel mais tairde, em 2003, você deve save o file como .xlsm em vez de .xlsx

    Paira remoview o UDF:

    1. exiba a window VBE como acima
    2. limpe o código
    3. feche a window VBE

    Paira usair o UDF do Excel:

     =GetEmailAddy(A1) 

    Paira saber mais sobre macros em geral, consulte:

    http://www.mvps.org/dmcritchie/excel/getstairted.htm

    e

    http://msdn.microsoft.com/en-us/librairy/ee814735(v=office.14).aspx

    e paira detalhes sobre UDFs, veja:

    http://www.cpeairson.com/excel/WritingFunctionsInVBA.aspx

    As macros devem estair habilitadas paira que isso funcione!

    aqui estão alguns exemplos:

    insira a descrição da imagem aqui

    Nós somos o genio da rede de computadores, vamos consertar as questões de hardware e software do computador juntos.