Como extrair rapidamente o endereço de e-mail de uma string de texto?
Quando você importa alguns endereços de e-mail do site para a planilha do Excel, sempre contém texto irrelevante, mas agora você deseja apenas extrair os endereços de e-mail puros da sequência de texto (veja as capturas de tela a seguir). Como você poderia obter rapidamente apenas os endereços de e-mail do texto da célula?
Extraia o endereço de e-mail da string de texto com a fórmula
Aqui, apresento a você uma fórmula longa para extrair apenas os endereços de e-mail do texto no Excel. Faça o seguinte:
1. Na célula adjacente B1, insira esta fórmula = TRIM (RIGHT (SUBSTITUTE (LEFT (A1, FIND ("", A1 & "", FIND ("@", A1)) - 1), "", REPT ("", LEN (A1))), LEN ( A1))).
2. Então aperte Entrar e, em seguida, selecione a célula B1 e arraste a alça de preenchimento para o intervalo que você deseja que contenha esta fórmula. E os endereços de e-mail no intervalo foram extraídos da string de texto. Veja a imagem:
Observações:
1. A pontuação após o endereço de e-mail também será extraída.
2. Se as células não contiverem os endereços de e-mail, a fórmula exibirá valores de erro.
3. Se houver mais de um endereço de e-mail em uma célula, a fórmula extrairá apenas o primeiro endereço.
Extraia vários endereços de e-mail de strings de texto
Kutools for Excel'S Extrair endereço de email pode ajudá-lo a extrair os endereços de e-mail das strings de texto de forma rápida e conveniente. Clique para baixar o Kutools para Excel!
Kutools for Excel: com mais de 300 suplementos úteis do Excel, grátis para testar sem limitação em 30 dias. Baixe e teste grátis agora!
Extraia o endereço de e-mail da string de texto com a função definida pelo usuário
Exceto a fórmula acima, uma função definida pelo usuário também pode ajudá-lo a obter o endereço de e-mail a partir da string de texto.
1. Segure o ALT + F11 chaves, e abre o Microsoft Visual Basic para Aplicações janela.
2. Clique inserção > Móduloe cole a macro a seguir na janela Módulo.
Function ExtractEmailFun(extractStr As String) As String
'Update by extendoffice
Dim CharList As String
On Error Resume Next
CheckStr = "[A-Za-z0-9._-]"
OutStr = ""
Index = 1
Do While True
Index1 = VBA.InStr(Index, extractStr, "@")
getStr = ""
If Index1 > 0 Then
For p = Index1 - 1 To 1 Step -1
If Mid(extractStr, p, 1) Like CheckStr Then
getStr = Mid(extractStr, p, 1) & getStr
Else
Exit For
End If
Next
getStr = getStr & "@"
For p = Index1 + 1 To Len(extractStr)
If Mid(extractStr, p, 1) Like CheckStr Then
getStr = getStr & Mid(extractStr, p, 1)
Else
Exit For
End If
Next
Index = Index1 + 1
If OutStr = "" Then
OutStr = getStr
Else
OutStr = OutStr & Chr(10) & getStr
End If
Else
Exit Do
End If
Loop
ExtractEmailFun = OutStr
End Function
3. Em seguida, salve o código e insira a fórmula = ExtractEmailFun (A1) em uma célula em branco adjacente, veja a captura de tela:
4. E, em seguida, pressione Entrar , selecione a célula B1 e arraste a alça de preenchimento até o intervalo em que você precisa da fórmula. E todos os endereços de e-mail foram extraídos do texto da célula. Veja a imagem:
Observações:
1. Se as células não tiverem os endereços de e-mail, serão reveladas células em branco.
2. Se houver mais de um endereço de e-mail em uma célula, todos os e-mails serão extraídos.
Extraia o endereço de e-mail da string de texto com o código VBA
Se você acha que as fórmulas acima são problemáticas para você, o código VBA a seguir pode ajudá-lo a extrair os endereços de e-mail em um.
1. Segure o ALT + F11 chaves, e abre um Microsoft Visual Basic para Aplicações janela.
2. Clique inserção > Móduloe cole a macro a seguir no Janela do módulo.
VBA: extrai endereços de e-mail da string de texto
Sub ExtractEmail()
'Update 20130829
Dim WorkRng As Range
Dim arr As Variant
Dim CharList As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
arr = WorkRng.Value
CheckStr = "[A-Za-z0-9._-]"
For i = 1 To UBound(arr, 1)
For j = 1 To UBound(arr, 2)
extractStr = arr(i, j)
outStr = ""
Index = 1
Do While True
Index1 = VBA.InStr(Index, extractStr, "@")
getStr = ""
If Index1 > 0 Then
For p = Index1 - 1 To 1 Step -1
If Mid(extractStr, p, 1) Like CheckStr Then
getStr = Mid(extractStr, p, 1) & getStr
Else
Exit For
End If
Next
getStr = getStr & "@"
For p = Index1 + 1 To Len(extractStr)
If Mid(extractStr, p, 1) Like CheckStr Then
getStr = getStr & Mid(extractStr, p, 1)
Else
Exit For
End If
Next
Index = Index1 + 1
If outStr = "" Then
outStr = getStr
Else
outStr = outStr & Chr(10) & getStr
End If
Else
Exit Do
End If
Loop
arr(i, j) = outStr
Next
Next
WorkRng.Value = arr
End Sub
3. Então aperte F5 para executar este código, e você deve selecionar um intervalo que deseja usar o VBA na caixa de diálogo exibida, consulte a captura de tela:
4. Então clique OK, e os endereços de e-mail foram extraídos das sequências de texto selecionadas. Veja as capturas de tela:
Observações:
1. Se as células não tiverem endereços de e-mail, serão reveladas células em branco.
2. Todos os e-mails serão extraídos, se houver mais de um endereço de e-mail em uma célula.
3. Os e-mails extraídos cobrirão os dados originais, portanto, é melhor fazer backup dos dados primeiro, se necessário.
Extraia o endereço de e-mail da string de texto com o Kutools para Excel com um clique
Os métodos acima parecem um pouco complicados para nosso iniciante em Excel, aqui, posso recomendar uma ferramenta rápida e fácil Kutools for Excel, Com o seu Extrair endereço de email utilitário, você pode extrair os endereços de e-mail das strings de texto sem muito esforço.
Kutools for Excel : com mais de 300 suplementos úteis do Excel, grátis para testar sem limitação em 30 dias. |
Se você instalou Kutools for Excel, faça o seguinte:
1. Selecione as células que contêm as sequências de texto.
2. Clique Kutools > Texto > Extrair endereço de email, veja a captura de tela:
3. E um Extrair endereço de email caixa de diálogo aparecerá, selecione uma célula onde você deseja colocar o resultado, veja a captura de tela:
4. Então clique OK botão, todos os endereços de e-mail foram extraídos das sequências de texto, consulte a imagem:
Clique para baixar e testar gratuitamente o Kutools for Excel agora!
Demonstração: extraia o endereço de e-mail de uma string de texto com o Kutools para Excel
Artigo relacionado:
Como extrair domínios de vários endereços de e-mail no Excel?
Melhores ferramentas de produtividade de escritório
Aprimore suas habilidades de Excel com o Kutools para Excel e experimente uma eficiência como nunca antes. Kutools para Excel oferece mais de 300 recursos avançados para aumentar a produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...
Office Tab traz interface com guias para o Office e torna seu trabalho muito mais fácil
- Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
- Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!