



Si en nuestra hoja necesitamos escribir email, podemos validar una dirección de correo (email) en una celda Excel.

En nuestra hoja, disponemos de la columna A donde insertar únicamente la dirección de correo electrónico (email) de nuestros clientes.
A | |
---|---|
1 |
Emplearemos las siguientes funciones anidadas en la validación de datos:
Función O. Comprueba si alguno de los argumentos es VERDADERO y devuelve VERDADERO O FALSO.
Función ESNUMERO. Comprueba si a un valor es un número y devuelve VERDADERO o FALSO.
Función COINCIDIR. Devuelve la posición relativa de un elemento en la matriz, que coincida con un valor dado en el orden deseado.
Función MINUSC. Convierte todas las letras de la cadena de texto en minúsculas.
Seleccionar el rango A2:A15. O el rango deseado donde validar la dirección de correo.
Ir a: cinta de opciones
Pestaña: Datos
Grupo: Herramientas de datos
Validación de datos
. Mostrará ventana de validación.
Clic en Pestaña: Configuración.
Ir a: Permitir
Seleccionar: Personalizada.
Ir a: Fórmula
Escribir:
=O(ESNUMERO(COINCIDIR("*@*.???";A4;0));ESNUMERO(COINCIDIR("*@*.??";A4;0)))O también, para forzar a escribirlo en minúsculas:
=MINUSC(O(ESNUMERO(COINCIDIR("*@*.???";A2;0));ESNUMERO(COINCIDIR("*@*.??";A2;0))))Clic en Pestaña: Mensaje de error.
Ir a: Estilo
Seleccionar: Detener.
Ir a: Título
Escribir: Error.
Ir a: Mensaje de error
Escribir: El valor insertado no corresponde a una cuenta de correo electrónico (email). O el texto deseado.
Pulsar el botón Aceptar. Cierra la ventana y aplica la validación.
VERIFICAR FUNCIONAMIENTO
Ir a: Celda A2
Escribir: usuario. Verificar como se muestra ventana de detener con el mensaje indicado en la validación para evitar insertar un valor que no sea email.
Pulsar el botón Cancelar. Continuar insertando datos.
Ir a: Celda A2
Escribir: 12345 Verificar como se muestra ventana de detener con el mensaje indicado en la validación para evitar insertar un valor que no sea email.
Pulsar el botón Cancelar. Continuar insertando datos.
Ir a: Celda A2
Escribir: usuario@cuenta.cuenta Verificar como se muestra ventana de detener con el mensaje indicado en la validación para evitar insertar un valor que no sea email.
Pulsar el botón Cancelar. Continuar insertando datos.
Ir a: Celda A2
Escribir: usuario@cuenta.com Verificar como se admite el valor escrito, extensión con tres caracteres (com).
Ir a: Celda A3
Escribir: usuario@cuenta.es Verificar como se admite el valor escrito, extensión con dos caracteres (es).


Oye me puedes ayudar, hago todos los pasos que indicas, si escribo 12345 listo me sale el error, pero así escriba bien el correo me sigue saliendo el error.
muchas gracias por la ayuda
Hola Adriana,
Verifica que la fórmula la tengas bien escrita, la referencia sería, "*@.???" asterisco / arroba / punto / cierre de interrogación / cierre de interrogación / cierre de interrogación.
Según el idioma serían dobles comillas o comillas simples.
Saludos.
Me funcionó modificando las comillas y revisando lo de: *@.??? con el siguiente texto:
=O(ESNUMERO(COINCIDIR("*@.???";A4;0));ESNUMERO(COINCIDIR("*@.???";A4;0)))
Muchas gracias.
Una duda. Esta función analiza los datos nuevos introducidos en una columna, pero si ya tenemos una columna con muchos mails, ¿como valido esos datos ya introducidos?
Gracias
Hola Fco Javier,
Tendrías que validarlo en otra columna para obtener el resultado y nunca sobre el valor de los datos.
Saludos.
Me funcionó a la perfección.
Muchas gracias
Como puedo validar que no contenga dos o mas @
Hola Luis,
Aplica la fórmula siguiente:
=SUMA ( LARGO(A1) - LARGO (SUSTITUIR (A1 ; "@" ; "" ))) =1
Saludos.
Excelente, Muchas gracias
Me puedes ayudar para validar que no tenga un punto antes o despues de la @ ".@" o "@." y que no tenga punto y coma ";" ,
Muchas Gracias
Hola Juan Antonio,
Resultaría muy complejo la validación en la celda de manera usuario, sería recomendable mediante macros.
Saludos.
Excelente muchas gracias
Hola! muy buen aporte gracias!
Tengan en cuenta que ésta formula no prevee los dominios que terminan con más de 3 letras, por ejemplo:
.travel
.coop
.info
etc...
lo cual se puede salvar agregando las opciones de .4letras y .6letras a la función O, pero de alguna forma degradará la calidad de la validación a menos que se agregue una por cada opción posible.
Saludos!
Hola Daniel,
En efecto los ejemplos siempre son como idea, no proyectos finales. Gracias por el aporte.
Saludos.
Hola, aplico la formula a tal cual se indica, pero así ponga correcto el correo, me sigue generando error. Esta es la formula que estoy utilizando: =O(ESNUMERO(COINCIDIR("*@*.???";P7;0));ESNUMERO(COINCIDIR("*@*.???";P7;0)))
Hola Eliana,
Al final tienes ??? y deben de ser 2 (??).
La fórmula es =O(ESNUMERO(COINCIDIR("*@*.???";P7;0));ESNUMERO(COINCIDIR("*@*.??";P7;0)))
Saludos.
Me sigue saliendo el mismo error, puse la fórmula tal cual me indicaste, pero nada 🙁
Hola Eliana,
Si facilitas algo más de información de que te deja escribir y que no podré ayudarte.
Saludos.
Tengo una columna para ingresar correos electrónicos, quiero que los correos queden bien escritos, que no les falte el @ ni el dominio. Lo que estoy haciendo es señalar la columna, me voy a Datos>Validación de datos>Personalizada>Pongo la fórmula: O(ESNUMERO(COINCIDIR("*@*.???";P7;0));ESNUMERO(COINCIDIR("*@*.??";P7;0)))>Le pongo mensaje de error>Aceptar. Cuando ingreso el correo mal, me sale efectivamente el mensaje de error, pero si coloco el correo bien, me sigue saliendo el mismo mensaje ;/
Hola Eliana,
La fórmula que pones es correcta para la celda P7; indica que valores escribes como bien y mal para poder identificar que ocurre.
Saludos.
Saludos me interesa saber en base a que error la formula arroja un falso de la celda evaluada.
Hola Eduardo,
Revisa el código, o indica en que condición te muestra el error.
Saludos.
Hola como estas si me funcionó me gustaria que me ayudaras a que fuera generalizado ya que tengo una base de mas de mil datos
Hola Viviana,
Puedes aplicar la validación sobre el rango deseado.
Saludos.
Hola
He estado tratando de colocar esa fórmula en un registro que se debe llenar, el cual corresponde a las celdas AD2 que es el correo electrónico, que sería algo así:
=O(ESNUMERO(COINCIDIR("*@*.???";AD2;0));ESNUMERO(COINCIDIR("*@*.??";AD2;0)))
y me rebota el mensaje de "Hay un error con esta fórmula ..."
Estoy usando Excel 365.
Salu2©
Hola Randy,
La fórmula es correcta. Si la escribes en una celda veras que muestra FALSO y VERDADERO. Sin más detalles no te puedo ayudar.
Saludos.
Hola buenos días.
En la URL de la imagen muestro el error que me arroja parea más detalles de este 🙂
Hola Randy,
La fórmula parece que es correcta, cambia el punto y coma por coma, por si es cuestión del idioma que tienes.
Saludos.
Hola buenas tardes.
Muchas gracias por su ayuda, me sirvió solo en versión Office 2016 y 2013, en 365 no me corre ni sustituyendo punto y coma por comas y viceversa,,,, pero conque me corra en 2016 es más que suficiente.
Excelente tarde y sigan con tan excelentes tips 😀
Salu2©
Muy buena información en tan bien resumido post, gracias por el aporte.
Buenas tardes.
Puse la fórmula en una columna nueva para validar los datos de una columna anterior, pero al pegar o traer los correos electrónicos con un = no me marca ninguna validación, solo al teclear el la dirección del mail. ¿Sería posible realizarlo como lo indico?
La base de datos con la que cuento es de más de 20,000 correos electrónicos a depurar.
Hola Alhelí,
No se puede excepto mediante macros.
Saludos.
Buenas tardes,
Una celda puede tener 2 validaciones, es decir que obligue a digitar un @ pero que adicional obligue que sea en minusculas
Hola John,
En el artículo se indica la condición.
Saludos.
buenas tardes, como puedo colocar que en la formula que coincida con texto punto texto arroba texto punto texto punto co
es decir luisaj.esmer@xxx.edu.co
Hola Johana,
Prueba con una estructura como: =ESNUMERO(COINCIDIR("*.*@*.*.??";A1;0))
Saludos.
Gracias!!
Buenas noches,
¿Se podría hacer lo mismo pero que la validación impida que se usen @hotmail y @gmail pero si cualquier otro dominio?
Muchas gracias de antemano.
Hola Diego,
Aplica la validación: =O(ESNUMERO(COINCIDIR("*@gmail.com";A1;0));ESNUMERO(COINCIDIR("*@hotmail.com";A1;0)))
Saludos.
Buenos días, saludarte de ante mano, es que agradecerte por que estaba buscando esa misma duda para resolver un problema de Uni. Gracias por eso.