miércoles, 19 de agosto de 2009

Ejemplo de Validación en Excel.

Desarrollaremos distintas opciones dentro de las validaciones en celdas de Excel. ¿Cuál es la utilidad de esta herramienta?, supongamos una hoja de trabajo que debe circular por distintos departamentos de la empresa y que cada usuario cumplimentará de acuerdo con su función; en estos casos de multiusuario se hace más necesario que nunca el poder discriminar la introducción de datos en nuestras hojas de cálculo.
Excel nos proporciona la Validación, en sus distintas variedades, para poder controlar qué tipo de datos se puede registrar en nuestras celdas.
Desde el menú datos > Validación activamos la ventana diálogo:


Al desplegar las opciones que nos permite observamos:
  • Numero entero: permite exclusivamente números enteros.

  • Decimal: números reales, i.e., enteros y decimales.

  • Lista: permite desplegar un listado de opciones. Sólo admite valores de esta lista.

  • Fecha: datos en formato fecha.

  • Hora: datos en formato hora.

  • Longitud: celdas con un número de caracteres alfanuméricos determinado.

  • Personalizada: nos habilita en base a una formula definida por nosotros el poder introducir un dato en la celda.

Combinando esta información con los operadores lógicos (entre, igual, mayor que, menor que, etc) determinados con los valores definidos por el usuario podemos configurar la validación.
Algunos ejemplos simples.
Ejemplo 1: permitir valores en una celda entre 10 y 100.


Ejemplo 2: permitir valores concretos (verdadero, falso, ns/nc)


Ejemplo 3: Condicionar la introducción de datos en una celda a valores de otra. Por ejemplo, sólo registrar valores en la Celda D2 si y sólo sí en la celda A1 el valor es 1.


Realmente lo explicado hasta ahora es lo que nos permite configurar la entrada de datos en nuestras celdas, sin embargo existen dos pestañas más (Mensaje entrante y Mensaje de error) que ayudan al usuario final de la hoja de cálculo. El mensaje entrante nos habilita para poder describir cuales son las condiciones de validación; pero sólo es descriptivo, no actua sobre las reglas de validación. Podremos dar un título y un detalle textual de estas reglas. Con el mensaje de error podremos determinar el tipo de error que deseamos ver cuando el valor introducido no cumpla con las reglas o condiciones de validación configuradas. Existen tres tipos de error:
-Límite: el más restrictivo. Sólo admite valores que cumplan la regla de validación para esa celda.
-Advertencia: nos pregunta si a pesar de no cumplir con las condiciones de la validación queremos continuar con el registro del dato.
-Información: el más flexible. Permite aceptar el valor erróneo después de informarnos del no cumplimiento.
en todos ellos incluiremos, si lo deseamos, un título y un mensaje que aparecerá en caso de incumplimiento de las reglas de validación en una ventana de error.

25 comentarios:

  1. Estimado como puedo hacer lo siguiente:
    1. Si la celda A1 introduzco el valor 1, entonces la celda B1 solo puede permitir los numeros 1, 2 o 3.
    2. Pero si en la celda A1 introduzco el valor 2, entonces la celda B1 solo puede permitir los valores 4, 5 y 6

    ** he intentado de muchas formas, con el validador de datos y con código de visual basic pero no me resulta aún, espero puedan ayudarme

    Saludos

    ResponderEliminar
  2. Estimado J. Santander,
    he dado una solución a tu consulta en la siguiente entrada:
    http://excelforo.blogspot.com/2009/10/ejemplo-de-doble-validacion.html
    se encuentra también en la etiqueta de Validación.
    Espero que te sirva.
    Un saludo

    ResponderEliminar
  3. hola,me podrian ayudar, tengo una duda como hago para validar en un rango que solo diga si o no

    ResponderEliminar
    Respuestas
    1. Hola, mira dentro de esta entrada el ejemplo 2(permitir valores concretos.
      Lo que tendrías que hacer es seleccionar el rango que desees, y luego aplicar una Validación de datos tipo Lista, con origen:
      si,no
      Slds

      Eliminar
  4. Como le agregas a una validación con lista, un autocomplete, es decir que puedas escribir 2 o 3 letras y te vaya sugiriendo los datos de la lista que vayan coincidiendo?

    ResponderEliminar
    Respuestas
    1. Hola Cr. Edgardo,
      esa es una opción que no es posible en la Validación de datos... y en general en Excel.
      Sólo al escribir debajo de una Lista de valores funciona como indicas...
      Lo siento, pero es algo en lo que Microsoft debería mejorar.
      Un saludo

      Eliminar
  5. como hago una validacion que solo acepte un codigo de 8 digitos; de los cuales algunos inician con 0

    ResponderEliminar
    Respuestas
    1. Hola, buenos días,
      en la validación de datos existe una opción para permitir una Longitud de texto a configurar por el usuario, asi que sólo tendrías que decirle igual a 8; con esto tendrías la mitad del trabajo hecho, para poder trabajar con los códigos que empiezan con cero, deberás dar formato a esas celdas tipo Texto.
      Esta sería la solución más sencilla siguiendo tus indicaciones.
      Un saludo

      Eliminar
  6. Hola quiero saber como usar la función para que no se repitan los nombres en una lista de alumnos como hago?

    ResponderEliminar
  7. Hola quiero saber como usar la función para que no se repitan los nombres en una lista de alumnos como hago?.Para poner en una columna diferente un mensaje si está repetido o no.

    ResponderEliminar
    Respuestas
    1. Hola,
      podrías poner al lado de cada celda la función =CONTAR.SI.
      Por ejemplo, tienes en la columna A los nombres de los alumnos, entonces en la columna B, en la primera de las celdas, supongamos B1, escribimos:
      =SI(CONTAR.SI(A:A;A1)>1;"Repetido";"No repetido")

      Creo te puede servir
      Slds

      Eliminar
    2. Hola gracias si me sirvió ,pero tengo otro problema,no de validacion sino de otra función.Es el siguiente:
      Dado el Nº de documento en A,en B agregarle un dígito al final según el sig. criterio:-Si el Nº de docum. termina en un Nº mayor que 5 restarle 4 a ese dígito y agregarlo como clave.
      -Si el Nº de docum. termina en un Nº menor o igual a 5 sumarle 4 a ese dígito y agregarlo como clave
      La solución sería esta:31589536-2
      y 31589532-6

      Eliminar
    3. Hola,
      No me queda claro cuál es el número de partida, pero supongamos en A1 el valor 31589536, entonces en B1 insertamos la función:
      =SI(VALOR(DERECHA(A1;1))>5;CONCATENAR(A1;"-";VALOR(DERECHA(A1;1))-4);CONCATENAR(A1;"-";VALOR(DERECHA(A1;1))+4))
      Creo que la fórmula responde a lo que pides.
      Slds

      Eliminar
    4. gracias por la respuesta

      Eliminar
  8. Hola quizás puedas ayudarme en resolver esto, gracias:
    Solo se deben ingresar fechas nacimiento, que sean del mes de agosto

    ResponderEliminar
    Respuestas
    1. Hola Milagros,
      deberás incorporar una Validación de datos tipo Personalizado con la fórmula:
      =MES(celda)=8
      siendo 'celda' la celda donde insertarías la fecha de nacimiento.
      Un cordial saludo

      Eliminar
  9. Hola, un gran favor! Necesito validar los valores que tiene una celda (por ej. documentos), en base a un valor seleccionado de otra? los posibles valores están en una lista obtenida de una hoja donde los tengo definidos con anterioridad y están agrupados por cierto criterio (por ejemplo fase). Es decir cada fase tiene sus documentos especificos, así que en la hoja 1 yo debería seleccionar un valor para la celda de la columna FASE y entonces activar la validación o filtro para la celda DOCUMENTO que solo me permita seleccionar entre los valores de documento que pertenecen a esa fase. Gracias por tu ayuda, espero haberme hecho entender...

    ResponderEliminar
  10. Muchas Gracias! me sirvió de gran ayuda... saludos!

    ResponderEliminar
  11. Hola Ismael,

    Cómo puedo cambiar el valor de varias celdas en función de lo que se elige en el depslegable de validación?

    Por ejemplo:

    Hoja 1:
    Tengo el desplegable
    Y debajo del desplegable quiero que en las celdas aparezcan unos valores que tengo en la hoja 2 en función de la opción elegida en el desplegable.
    El desplegable podría tener las opciones:
    ESPAÑA
    PORTUGAL
    GRECIA


    Hoja 2:
    Tengo el listado que aparecerá en el desplegable de la hoja 1 y sobre la misma fila una serie de valores delante de cada opción que son los que también quiero que aparezcan en la hoja 1 debajo del desplegable.

    ESPAÑA____1____4_____2____6
    PORTUGAL__3____8_____9____6
    GRECIA______4____3_____5____6

    Si en el desplegable hubiera elegido ESPAÑA
    Entonces me aparecerían en otra fila y en celdas separadas los valores 1___4___2___6

    ResponderEliminar
    Respuestas
    1. Bueno,
      deberías añadir condicionales (función SI) según la condición del desplegable...

      Eliminar
  12. Hola necesito que en una celda se puedan poner numeros con un solo decimal, eh logrado poner la formula de validacion pero cuando pongo por ej XX,0 me da error en cambio si pongo xx,1 funciona, osea puedo poner cualquier numero menos algun num que sea ,0 o entero.Alguien me puede ayudar?Muchas gracias
    Saludos

    ResponderEliminar
    Respuestas
    1. Hola,
      prueba añadiendo la validación de datos personalizada siguiente en la celda B2:
      =SI.ERROR(VALOR(EXTRAE(B2;ENCONTRAR(",";B2)+1;LARGO(B2)));0)<10
      Saludos

      Eliminar
  13. procedimiento para validar los datos en una celda (cualquiera), sólo debe aceptar números enteros mayores que 40; luego, escriba un número menor en dicha celda, por último, escriba como respuesta el mensaje de error que le aparece

    ResponderEliminar
    Respuestas
    1. Hola Ángela,
      que tal estás?, un placer saludarte igualmente.
      Entiendo que quieres aplicar una validación en una celda.
      Aplica la herramienta y en la primera pestaña de Configuración despliega Permitir Número Entero, luego en las condiciones elige el operador mayor que, y introduce el valor 40.
      Finalmente en la pestaña de mensaje de error escribe el texto que quieras.
      Un cordial saludo

      Eliminar

Nota: solo los miembros de este blog pueden publicar comentarios.