martes, 21 de agosto de 2012

La validación de datos y las duplicidades en Excel.

Algunos días atrás se me planteó una cuestión relacionada con la manera de evitar duplicidades en un campo de un listado, en concreto, se trataba de configurar una validación de datos de tal forma que impidiera introducir sobre un mismo campo de una tabla elementos duplicados.
La cuestión planteada fué:

...necesito colocar en una misma columna dos reglas de validación, como se hace?
Ejemplo, necesito que en la columna A se introduzca un numero con un largo determinado de caracteres (5) y que a su vez no se repita ningún dato....

La cuestión de aplicar múltiples reglas de validación (ver validación de datos personalizada) sobre un rango de celdas ya se ha tratado anteriormente en este mismo blog, pero me resultó curioso aplicarlo en este caso, donde la Validación de datos personalizada es la respuesta ideal a un problema tan frecuente como los Duplicados.
Para trabajar sobre un ejemplo concreto, asignaremos una Validación de datos personalizada al Rango A1:A9 (y la celda A1 activa) de nuestra hoja, y desde la ficha Datos > herramientas de datos > Validación de datos, configuramos la opción personalizada con la fórmula:
=Y(LARGO(A1)=5;CONTAR.SI(A:A;A1)=1)

La validación de datos y las duplicidades en Excel.


Lo que hemos conseguido es forzar para el rango dado que cualquier valor introducido en A1:A9 no esté duplicado en otra celda de la columna A y además que el número de caracteres del valor introducido tenga una longitud de 5. Lo que hemos logrado forzando a que el LARGO de la celda deba ser 5, y que al contar el valor introducido en toda la columna A tenga que ser único, es decir que CONTAR.SI sea 1.
Podemos ver una imagen donde se demuestra esta doble validación:

La validación de datos y las duplicidades en Excel.


Creo que este es un buen ejemplo de validación múltiple de datos en Excel...

6 comentarios:

  1. gracias por el aporte muy bueno

    ResponderEliminar
  2. Hola...interesante la funcion, se acerca a lo que necesito y es validar el ingreso de datos en 2 columnas, se trata de una factura la cual no se debe repetir, la idea es validar el numero y el proveedor al momento de ingresar, esto se puede hacer?

    ResponderEliminar
    Respuestas
    1. Hola!
      al tratarse de datos en dos columnas creo podría emplearse una función =CONTAR.SI.CONJUNTO(rng_fras;NumFra;rng_proveed;CodProv)>=1
      ya que si contar devuelve 1 ó más implicaría la combinación de númer de factura y proveedor ya se ha empleado....
      Saludos

      Eliminar
    2. Este comentario ha sido eliminado por el autor.

      Eliminar
  3. Hola y gracias por la rapida respuesta, lo probare en mi planilla aunque tengo algunas consultas..: a que corresponden rng_fras;NumFra;rng_proveed;CodProv, son los nombres de las columnas..?, me podrias ayudar con eso.

    Gracias nuevamente.

    ResponderEliminar
    Respuestas
    1. Hola Marcelo,
      efectivamente
      rng_fras:= sería el rango/columna donde se encuentran las facturas
      NumFra:= Número de factura a evaluar, sería la celda donde se va a introducir la validación
      rng_proveed:= el rango de los proveedores
      CodProv:= la celda donde aparece para esa línea el código del proveedor
      Saludos

      Eliminar