Skip to main content

Guía completa para extraer rápidamente direcciones de correo electrónico de cadenas de texto en Excel

Author: Xiaoyang Last Modified: 2025-06-03

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.

A screenshot of mixed text strings in Excel for extracting email addresses

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.

  1. Haz clic en la primera celda de la columna adyacente (por ejemplo, B2) donde deseas que aparezcan las direcciones de correo electrónico.
  2. 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.
    A screenshot showing the manual entry of an email address in Excel before using Flash Fill
  3. 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.
    A GIF of email addresses extracted using Flash Fill in Excel
Notas:
  • 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.

Kutools para Excel ofrece más de 300 funciones avanzadas para simplificar tareas complejas, potenciando la creatividad y la eficiencia. Integrado con capacidades de inteligencia artificial, Kutools automatiza las tareas con precisión, haciendo que la gestión de datos sea sencilla. Información detallada de Kutools para Excel...  Prueba gratuita...

Después de descargar e instalar Kutools para Excel, sigue los siguientes pasos:

  1. 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".
  2. 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.
    A screenshot of the Kutools Extract Email Address feature in action
Resultado

Luego, todas las direcciones de correo electrónico en cada celda del rango seleccionado se extraerán inmediatamente.

A screenshot showing the results of email extraction using Kutools

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)))

A screenshot showing a formula for extracting email addresses in Excel

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:

A screenshot of email addresses extracted using a formula in Excel

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:

A screenshot showing a user-defined function for extracting email addresses in Excel

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:

A screenshot of email addresses extracted using a user-defined function in Excel

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:

A screenshot showing the range selection for VBA email extraction in Excel

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:

A screenshot showing the original text before using VBA for email extraction Arrow A screenshot of the results after extracting emails with VBA code in Excel

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.


arrow blue right bubble Demostración: Extraer dirección de correo electrónico de una cadena de texto con Kutools para Excel

 
Kutools para Excel: ¡Más de 300 herramientas prácticas a su alcance! ¡Disfrute de funciones de IA permanentemente gratis! ¡Descárguelo ahora!

Artículo relacionado:

¿Cómo extraer dominios de múltiples direcciones de correo electrónico en Excel?

Las mejores herramientas de productividad para Office

🤖 Kutools AI Aide: Revoluciona el análisis de datos basado en: Ejecución inteligente | Generar código | Crear fórmulas personalizadas | Analizar datos y generar gráficos | Invocar Funciones mejoradas
Funciones populares: Buscar, resaltar o marcar duplicados | Eliminar filas en blanco | Combinar columnas o celdas sin perder datos | Redondear...
Super BUSCARV: Búsqueda por varios criterios | Búsqueda de varios valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Crea rápidamente una lista desplegable | Lista desplegable dependiente | Lista desplegable de selección múltiple....
Administrador de columnas: Agregar un número específico de columnas | Mover columnas | Alternar el estado de visibilidad de columnas ocultas | Comparar rangos y columnas...
Funciones destacadas: Cuadrícula de enfoque | Vista de diseño | Barra de fórmulas mejorada | Administrador de Libro de trabajo y Hoja de cálculo | Biblioteca de AutoTexto | Selector de fechas | Combinar Datos | Cifrar/Descifrar celdas | Enviar correo electrónico por lista | Super Filtro | Filtro especial (filtrar celdas con fuente en negrita/cursiva/tachado...)...
Top15 conjuntos de herramientas:12 herramientas de texto (Agregar texto, Eliminar caracteres específicos, ...) | Más de50 tipos de gráficos (Diagrama de Gantt, ...) | Más de40 fórmulas prácticas (Calcular edad basada en la fecha de nacimiento, ...) |19 herramientas de inserción (Insertar código QR, Insertar imagen desde ruta, ...) |12 herramientas de conversión (Convertir a palabras, Conversión de moneda, ...) |7 herramientas para combinar y dividir (Combinar filas avanzado, Dividir celdas, ...) | ... y más

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!