Extraer correos electrónicos de una cadena no es fácil de hacer. Encontrar el símbolo @ es fácil. Pero entonces ? 🤔
Necesitamos encontrar la lógica que nos permita encontrar el principio y el final del correo electrónico. Porque pueden surgir muchas situaciones diferentes:
- @fournisseurs.com (nombre + .com)
- @my-business.com (nombre con guión + .com)
- @mysupplier.co.uk (nombre de dos partes + dominio)
- @ma-start.up.com (nombre + guión y punto antes del dominio)
- .....
Y lo mismo ocurre con la identificación del correo electrónico.
- apoyo@ (una palabra)
- nombre Apellido@
- p.nombre@
- p-nombre@
- agencia-31@ (mezcla de letras y números)
Entonces, con las funciones tradicionales de Excel, es muy difícil enumerar todos los casos incorrectos, pero con expresiones regulares, es un juego de niños ????
Funciones de TEXTO de Excel
Extraer un correo electrónico con funciones de TEXTO tradicionales es extremadamente difícil de hacer
- Tienes que empezar con localizar el @ en el texto con el Buscando función.
- Luego encuentra la posición del siguiente punto.
- Y luego, cambie 2 o 3 caracteres (para .fr o .com). Ya existen riesgos de errores
- Pero es principalmente para encontrar el comienzo del correo electrónico, es decir, los caracteres que preceden a @, que es casi imposible encontrar una fórmula adecuada.
Una forma de encontrar el carácter "espacio" antes de @ sería utilizar la función SUSTITUIR como se explica en este articulo.
Llenado instantáneo
Una solución más sencilla sería utilizar Relleno instantáneo para extraer correos electrónicos. Si la posición de los correos electrónicos fuera siempre la misma (al principio o al final de la cadena), el relleno flash podría hacer el trabajo. Pero en nuestro caso no entiende la lógica y devuelve nada.

Extraer correos electrónicos con expresiones regulares (REGEX)
Pero desde la llegada de expresiones regulares en excel, este trabajo se simplifica enormemente. Usaremos el Función REGEXEXTRACT para extraer correos electrónicos basados en pattern (diagrama).
- La Función REGEXEXTRACT está disponible con Excel 365, versión 2406 (Conviértase en un experto de la oficina)
Extraiga todos los correos electrónicos: \S+@\S+
Vamos a construir un patrón que buscará todos los caracteres diferentes de un espacio antes y después de @

Extraer todos los correos electrónicos de los empleados de mi empresa.
- Aquí nos centraremos en el dominio mi-empresa.com
- Y para seleccionar el correo electrónico de los empleados, debe encontrar el patrón de texto con puntos.
- El patrón es el siguiente: "\w+\.\w+@mi-empresa.com"

De esta manera, los correos electrónicos como reembolso, confirmación, facturación, no se conservan.
Excluir correos electrónicos con números
Si queremos hacer un envío de correo profesional, no queremos conservar los correos electrónicos con números en el identificador. En este caso el patrón será "[a-zA-Z.-+@\S+"
