¿Cómo extraer rápidamente una dirección de correo electrónico de una cadena de texto?
Cuando importa algunas direcciones de correo electrónico desde el sitio web a la hoja de cálculo de Excel, siempre contiene texto irrelevante, pero ahora solo desea extraer las direcciones de correo electrónico puras de la cadena de texto (consulte las siguientes capturas de pantalla). ¿Cómo podría obtener rápidamente solo las direcciones de correo electrónico del texto de la celda?
Extraiga la dirección de correo electrónico de la cadena de texto con la fórmula
Aquí les presento una fórmula larga para extraer solo las direcciones de correo electrónico del texto en Excel. Haz lo siguiente:
1. En la celda adyacente B1, ingrese esta fórmula = RECORTAR (DERECHA (SUSTITUIR (IZQUIERDA (A1, ENCONTRAR ("", A1 & "", ENCONTRAR ("@", A1)) - 1), "", REPETIR ("", LARGO (A1))), LARGO ( A1))).
2. Entonces presione Participar , luego seleccione la celda B1 y arrastre el controlador de relleno al rango que desea que contenga esta fórmula. Y las direcciones de correo electrónico en el rango se han extraído de la cadena de texto. Ver captura de pantalla:
Notas:
1. También se extraerá la puntuación después de la dirección de correo electrónico.
2. Si las celdas no contienen las direcciones de correo electrónico, la fórmula mostrará valores de error.
3. Si hay más de una dirección de correo electrónico en una celda, la fórmula solo extraerá la primera dirección.
Extraiga varias direcciones de correo electrónico a partir de cadenas de texto
Kutools for Excel, Extraer dirección de correo electrónico puede ayudarlo a extraer las direcciones de correo electrónico de las cadenas de texto de manera rápida y conveniente. ¡Haga clic para descargar Kutools para Excel!
Kutools for Excel: con más de 300 prácticos complementos de Excel, prueba gratuita y sin límite en 30 días. ¡Descarga y prueba gratis ahora!
Extraiga la dirección de correo electrónico de la cadena de texto con la función definida por el usuario
Excepto la fórmula anterior, una función definida por el usuario también puede ayudarlo a obtener la dirección de correo electrónico de la cadena de texto.
1. Mantenga pulsado el ALT + F11 llaves, y abre el Microsoft Visual Basic para aplicaciones ventana.
2. Hacer clic recuadro > Móduloy pegue la siguiente macro en la ventana 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. Luego guarde el código e ingrese la fórmula = ExtractEmailFun (A1) en una celda en blanco adyacente, vea la captura de pantalla:
4. Y luego presione Participar , seleccione la celda B1 y arrastre el controlador de relleno hasta el rango en el que necesita la fórmula. Y todas las direcciones de correo electrónico se han extraído del texto de la celda. Ver captura de pantalla:
Notas:
1. Si las celdas no tienen las direcciones de correo electrónico, se mostrarán celdas en blanco.
2. Si hay más de una dirección de correo electrónico en una celda, se extraerán todos los correos electrónicos.
Extraiga la dirección de correo electrónico de la cadena de texto con código VBA
Si cree que las fórmulas anteriores son problemáticas para usted, el siguiente código VBA puede ayudarlo a extraer las direcciones de correo electrónico en una.
1. Mantenga pulsado el ALT + F11 llaves, y abre un Microsoft Visual Basic para aplicaciones ventana.
2. Hacer clic recuadro > Móduloy pegue la siguiente macro en el Ventana del módulo.
VBA: extraer direcciones de correo electrónico de una cadena 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. Entonces presione F5 para ejecutar este código, y debe seleccionar un rango que desea usar el VBA en el cuadro de diálogo emergente, vea la captura de pantalla:
4. Luego haga clic OKy las direcciones de correo electrónico se han extraído de las cadenas de texto seleccionadas. Ver capturas de pantalla:
Notas:
1. Si las celdas no tienen las direcciones de correo electrónico, se mostrarán celdas en blanco.
2. Se extraerán todos los correos electrónicos, si hay más de una dirección de correo electrónico en una celda.
3. Los correos electrónicos extraídos cubrirán los datos originales, por lo que será mejor que primero haga una copia de seguridad de los datos si es necesario.
Extraiga la dirección de correo electrónico de la cadena de texto con Kutools para Excel con un clic
Los métodos anteriores parecen algo complicados para nuestro principiante de Excel, aquí, puedo recomendarle una herramienta rápida y fácil: Kutools for Excel, Con su Extraer dirección de correo electrónico utilidad, puede extraer las direcciones de correo electrónico de las cadenas de texto sin mucho esfuerzo.
Kutools for Excel : con más de 300 prácticos complementos de Excel, prueba gratuita y sin límite en 30 días. |
Si tienes instalado Kutools for Excel, haga lo siguiente:
1. Seleccione las celdas que contienen las cadenas de texto.
2. Hacer clic Kutools > Texto > Extraer dirección de correo electrónico, ver captura de pantalla:
3. Y un Extraer dirección de correo electrónico aparecerá el cuadro de diálogo, seleccione una celda donde desea colocar el resultado, vea la captura de pantalla:
4. Luego haga clic OK botón, todas las direcciones de correo electrónico se han extraído de las cadenas de texto, vea la captura de pantalla:
Haga clic para descargar y probar gratis Kutools para Excel ahora!
Demostración: extraiga la dirección de correo electrónico de la cadena de texto con Kutools para Excel
Artículo relacionado:
¿Cómo extraer dominios de varias direcciones de correo electrónico en Excel?
Las mejores herramientas de productividad de oficina
Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haga clic aquí para obtener la función que más necesita...
Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
- ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!