Guía completa para extraer rápidamente direcciones de correo electrónico de cadenas de texto en Excel
Al trabajar con datos importados o cadenas de texto mixtas en Excel, es posible que necesites extraer direcciones de correo electrónico de manera rápida y precisa. Ya sea que estés trabajando con una lista de correos electrónicos mezclados con otro texto o necesites extraer correos de un conjunto de datos grande, existen varios métodos eficientes para hacerlo. Esta guía te mostrará varias técnicas para extraer direcciones de correo electrónico de cadenas de texto, incluyendo el uso de Flash Fill, Kutools para Excel, fórmulas, funciones definidas por el usuario y código VBA. Cada método ofrece diferentes ventajas dependiendo de tus necesidades y la complejidad de los datos.

Extraer dirección de correo electrónico de una cadena de texto con Flash Fill
La función Flash Fill de Excel proporciona una forma rápida y eficiente de formatear o extraer datos automáticamente según patrones que definas. En esta sección, te guiaremos sobre cómo usar Flash Fill para extraer direcciones de correo electrónico de una columna de datos mixtos. Este método es particularmente útil cuando se trabaja con listas que contienen varios tipos de texto y solo necesitas extraer las direcciones de correo electrónico.
- Haz clic en la primera celda de la columna adyacente (por ejemplo, B2) donde deseas que aparezcan las direcciones de correo electrónico.
- Escribe manualmente la dirección de correo electrónico de la fila correspondiente en la Columna A y luego presiona Enter. Por ejemplo, si A2 contiene "ana varela@gmail.com", escribe " ana varela@gmail.com " en B2.
- Quédate en la celda B3, presiona "Ctrl + E" para activar Flash Fill. Excel llenará automáticamente el resto de la Columna B con las direcciones de correo electrónico extraídas.
- Flash Fill está disponible en Excel 2013 y versiones posteriores. Si estás utilizando Excel 2010 o una versión anterior, es posible que esta función no esté disponible.
- Asegúrate de que las celdas donde aplicas Flash Fill estén formateadas como 'Texto' para evitar problemas de formato no deseados.
Un solo clic para extraer direcciones de correo electrónico por lotes de una cadena de texto con Kutools
Cuando se trata de extraer direcciones de correo electrónico de un conjunto de datos, la función "Extraer direcciones de correo electrónico" de Kutools para Excel ofrece una alternativa poderosa al Flash Fill de Excel. Mientras que Flash Fill proporciona un enfoque manual para el reconocimiento de patrones, Kutools para Excel automatiza el proceso con un solo clic, lo que lo hace ideal para manejar grandes volúmenes de datos de manera eficiente. Esta herramienta no solo simplifica el proceso de extracción, sino que también garantiza precisión y velocidad, especialmente al lidiar con conjuntos de datos complejos o inconsistentes.
Después de descargar e instalar Kutools para Excel, sigue los siguientes pasos:
- Selecciona el rango de celdas del cual deseas extraer direcciones de correo electrónico. Luego ve a seleccionar "Kutools" > "Texto" > "Extraer direcciones de correo electrónico".
- En el cuadro de diálogo emergente "Extraer direcciones de correo electrónico", selecciona una celda para mostrar la dirección de correo electrónico y haz clic en Aceptar.
Resultado
Luego, todas las direcciones de correo electrónico en cada celda del rango seleccionado se extraerán inmediatamente.

Kutools para Excel - Potencia Excel con más de 300 herramientas esenciales. ¡Disfruta de funciones de IA gratis permanentemente! Consíguelo ahora
Extraer dirección de correo electrónico de una cadena de texto con Fórmula
Aquí te presento una fórmula larga para extraer solo las direcciones de correo electrónico del texto en Excel. Sigue los siguientes pasos:
1. En la celda adyacente B1, introduce la siguiente fórmula:
=TRIM(RIGHT(SUBSTITUTE(LEFT(A1,FIND (" ",A1&" ",FIND("@",A1))-1)," ", REPT(" ",LEN(A1))),LEN(A1)))
2. Luego presiona la tecla Enter, selecciona la celda B1 y arrastra el controlador de relleno hacia el rango que deseas 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. La puntuación después de la dirección de correo electrónico también se extraerá.
2. Si las celdas no contienen 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.
Extraer dirección de correo electrónico de una cadena de texto con Función Definida por el Usuario
Además de la fórmula anterior, una Función Definida por el Usuario también puede ayudarte a obtener la dirección de correo electrónico de la cadena de texto.
1. Mantén presionadas las teclas "ALT + F11" y se abrirá la ventana "Microsoft Visual Basic para Aplicaciones".
2. Haz clic en "Insertar" > "Módulo" y pega la siguiente macro en la ventana del 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 guarda el código e introduce la fórmula =ExtractEmailFun(A1) en una celda adyacente en blanco, ver captura de pantalla:
4. Luego presiona la tecla Enter, selecciona la celda B1 y arrastra el controlador de relleno sobre el rango que necesitas para 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 direcciones de correo electrónico, revelará 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.
Extraer dirección de correo electrónico de una cadena de texto con código VBA
Si las fórmulas anteriores te parecen complicadas, el siguiente código VBA puede ayudarte a extraer rápidamente direcciones de correo electrónico.
1. Mantén presionadas las teclas "ALT + F11" y se abrirá una ventana "Microsoft Visual Basic para Aplicaciones".
2. Haz clic en "Insertar" > "Módulo" y pega la siguiente macro en la 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. Luego presiona la tecla F5 para ejecutar este código y deberás seleccionar un rango en el que quieras usar el VBA en el cuadro de diálogo emergente, ver captura de pantalla:
4. Luego haz clic en Aceptar y 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 direcciones de correo electrónico, revelará celdas en blanco.
2. Se extraerán todos los correos, si hay más de una dirección de correo electrónico en una celda.
3. Los correos extraídos sobrescribirán los datos originales, por lo que se recomienda hacer una copia de seguridad de tus datos primero.
Demostración: Extraer dirección de correo electrónico de una cadena de texto con Kutools para Excel
Artículo relacionado:
¿Cómo extraer dominios de múltiples direcciones de correo electrónico en Excel?
Las mejores herramientas de productividad para Office
Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...
Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
- ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!