Lista para validación de datos en Excel

Validar la información que introduces en Excel es de suma importancia para prevenir cualquier interpretación equivocada al momento de analizar los datos. Afortunadamente Excel tiene una funcionalidad que nos permite validar los datos al momento de ingresarlos.

Lista desplegable en Excel

Excel nos permite crear listas desplegables que dan la posibilidad al usuario de elegir un valor dentro de una lista que ha sido previamente definida y validada:

Lista para validación de datos en Excel

Para hacer uso de esta funcionalidad primero debes seleccionar la celda donde deseas que aparezca la lista desplegable e ir a la ficha Datos y hacer clic sobre el comando Validación de datos:

Lista para validación de datos en Excel

Se mostrará el cuadro de diálogo Validación de datos en donde deberás seleccionar la opción Lista:

Lista para validación de datos en Excel

En el recuadro Origen puedes colocar directamente los valores de tu lista desplegable separados por coma:

Lista para validación de datos en Excel

Al hacer clic en el botón Aceptar se verán reflejados los cambios en la celda:

Lista para validación de datos en Excel

Lista desplegable con valores en un rango

Si tu lista tiene muchos elementos puedes colocarlos dentro de una hoja de Excel y especificar el rango en el cuadro de diálogo Validación de datos y de esta manera tener una lista desplegable con los valores extraídos de dicho rango:

Lista para validación de datos en Excel

No es mala idea invertir un  poco de tiempo para agregar esta funcionaldiad a tus hojas de Excel, recuerda que una lista desplegable te evitará muchos problemas al permitir el ingreso de valores previamente validados.

34 pensamientos en “Lista para validación de datos en Excel

  1. Isabel

    Muy buena información, gracias!

  2. Gustavo Salazar Longas

    Buen día profesor, estoy muy agradecido por estos enlaces. Hoy estoy estudiando la parte de crear rangos de celdas en la página y sus funciones relacionadas, diseñando un formato de una cotización por ejemplo que incluya varias formulas para generar resultados. Cordial saludo.

  3. SILVIA

    Buen dia, necesito crear una lista de validacion dependiente y poder guardarla en otro archivo, el detalle es que tengo que mostrar una lista de valores para poder seleccionar un dato dependiendo de otro. ayuda por favor

  4. genares

    Hola
    Como haces para validar datos de un rango de datos y que no se duplique ninguno,usando una lista

  5. Ivan

    Hola, como le hago para que mis celdas validas por medio de listas desplegables me permitan introducir otros tipos de valores además de los que ya están predefinidos en la lista desplegable, ya que me sale error cada vez que intento introducir otros valores distintos al de la lista desplegable.

    1. Moisés Ortíz Autor

      Hola Ivan, eso no se puede hacer con la validación de datos. Sin embargo, es posible lograrlo a través de código VBA, pero esa solución es demasiado extensa como para explicarla en este comentario. Espero publicar un artículo al respecto en el futuro.

  6. Ignacio

    quiero usar la información de una lista dependiente en otro libro de excel, ¿¿es posible?? Es decir, tomar la información de una base de datos plasmada en un libro de excel y en otro libro usar la misma para crear 2 listas dependiente (una de productos, y la dependiente de sus componentes). La idea es NO usar el mismo libro de excel y no puedo validar datos con información de otro libro basicamente.

    1. Moisés Ortíz Autor

      Hola Ignacio, es posible pero en necesario crear un rango nombrado que sirva como el intermedio. Este nombre de rango deberá hacer referencia a los datos del otro libro y posteriormente ser utilizado como la fuente de datos de la lista de validación.

  7. Gabriel

    hola!!, que tal, se puede utilizar la validacion para tres columnas diferentes, osea, que tengas 3 listas, por ejemplo, el famoso donde hay estados y municipios, en el cual elijo el estado de una lista validada y en otra columna me muestra solo los municipios de ese estado, hasta aqui esta bien, ahora me gustaria agregarle una lista mas, donde elija el estado y en otra columna me muestre pór ejemplo una zona, zono este, zono oeste, esto dependiendo del estado elegido, gracias por su ayuda

    1. Moisés Ortíz Autor

      Hola Gabriel, solo tienes que repetir el mismo procedimiento para la tercera lista. Te dejo un ejemplo, que es solo para dos listas de validación, pero si comprendes correctamente la solución planteada podrás crear fácilmente la tercera lista:
      http://exceltotal.com/cambiar-valores-de-una-lista-basados-en-la-seleccion-de-otra-lista/

      Solo tendrás que agregar las combinaciones posibles que vinculan los valores de la lista 2 y 3.

      1. Gabriel

        gracias, me funciono muy bien, solo una pregunta mas, si no es mucha molestia, ahora solo son dos columnas, una de estados y otra de municipios, donde selecciono el estado y en la otra celda solo me muestra los municipios de ese estado, eso ya esta, solo quiero saber como le hago para que al seleccionar un estado, la celda de los municipiso se ponga en blanco o con guiones, gracias, por todo

        1. Moisés Ortíz Autor

          Hola Gabriel, eso ya no es tan sencillo de hacer y la única manera de hacerlo es utilizando VBA. Suponiendo que la celda con el estado es A1 y el municipio es B1, el código a utilizar es el siguiente:

          Private Sub Worksheet_Change(ByVal Target As Range)

          If Intersect(Target, Range(“A1″)) Is Nothing Then Exit Sub
          Range(“B1″).Value = “”

          End Sub

  8. Christian Hilares

    Estimado Moisés, ante agradezco mucho el tutorial que nos brindas…. es muy bueno todo el material mostrado.
    Slds.

  9. Boris Ortiz

    Hola Moises, tu blog me ha sido de mucha utilidad, tengo una consulta, tengo una lista despegable, la cual creo con valores de un rango que es variable, y hay celdas vacías en el rango, como puedo hacer para que en la lista solo me muestre los valores existentes y no los espacios vacíos.

    1. Moisés Ortíz Autor

      Hola Boris, no existe una función que remueva espacios en blanco así que tendrás que crear una lista intermedia, donde extraes los valores únicos y los ordenas de manera ascendente para que los espacio en blanco estén al final. Para ver alternativas de extracción de valores únicos consulta el siguiente artículo:
      http://exceltotal.com/extraer-valores-unicos-en-excel/

      Para aprender a crear una lista con un rango dinámico:
      http://exceltotal.com/como-actualizar-una-lista-desplegable-en-excel/

      La función CONTARA ayudará a obtener las filas que contienen datos y dejará fuera los espacios en blanco que se encuentren al final.

  10. MARCOS

    ya coloque las listas despledagas y guarde cambio, pero al cerrar el archivo y volverlo a abrir las listas desaparecen, como debo de hacer para que las listas queden grabadas o guardadas en cada celda

    1. Moisés Ortíz Autor

      Hola Marcos, asegúrate de tener marcada la siguiente opción:
      Archivo > Opciones > Avanzadas > Mostrar opciones para este Libro > Para objetos, mostrar > Todo.

  11. Carlos

    Utilizo buscarv para una matriz de dos columnas y 2700 datos pero me arroja #!valor!, presumo que puede ser por el tamaño de la matriz.
    ¿Cómo puedo resolver este problema?

    1. Moisés Ortíz Autor

      Hola Carlos, definitivamente no se debe al tamaño de la matriz.
      Probablemente se debe al tipo de datos que estás buscando y que no concuerdan con el tipo de la primera columna del rango de búsqueda.

  12. Dorian

    Hola Moisés. Antes que nada, gracias y felicidades por tu blog. Tengo la siguiente duda. Se pueden agregar varios valores a la misma celda desde una lista desplegable? Es con código VBA? En un rango quiero poner nombres, pero pueden ser uno o varios en una celda y las combinaciones también variarán. Ej.
    A1= Juan
    A2 = Pedro
    A3 = Pablo
    A4 = Juan, Pedro
    A5 = Pedro, Pablo
    Del rango fuente sólo tendría 3 nombres en este caso.
    Ojalá puedas apoyarme y gracias de antemano.

    1. Moises Ortiz Autor

      Hola Dorian, definitivamente lo mejor es crear una macro. Dicha función deberá recibir los 3 nombres, crear las combinaciones y colocarlas en un rango de celdas. Posteriormente deberá crear las listas desplegables en las celdas deseadas. Una vez que se hayan generados las combinaciones (por ejemplo en el rango X1:X5) puedes crear las listas desplegables con el siguiente código:

      Range(“B1:B9″).Select
      With Selection.Validation
      .Delete
      .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
      xlBetween, Formula1:=”=$X$1:$X$5″
      End With

  13. YORDIN

    buenos dias una pregunta si tengo una data de 7000 lineas con datos en la hoja1 pero en la hoja2 quiero aplicar la lista desplegable de solo los que esten visibles despues de aplpicar un filtro en la hoja1 como podria hacer

    1. Moises Ortiz Autor

      Hola Yordin, no existe una manera sencilla de hacer eso. Al crear una lista desplegable (de validación de datos) no puedes indicar que la fuente de datos sean solo las celdas visibles.
      La única alternativa es programar en VBA la creación de la lista desplegable en base a las celdas visibles.

  14. Helen

    Hola Moises, tengo una consulta con la validacion de datos como puedo hacer si tengo tres opciones digamos Vehiculo1, Vehiculo2, Vehiculo3 y quiero que cualquiera de las tres opciones se marque con una X y que cuando esta ya este sleccionada ya no se me permita seleciionar una segunda opcion. Gracias

    1. Moisés Ortíz Autor

      Hola Helen, eso no es posible con la funcionalidad de las listas de validación de datos. La única alternativa es programar dicho comportamiento con VBA.

  15. Jordi

    Hola Moisés. Es posible que la lista desplegable se muestre con el mismo formato de la lista original? Es decir si en la lista original tengo un dato en, por ejemplo, texto en color rojo y fondo amarillo verlo del mismo modo en el desplegable?

    1. Moisés Ortíz Autor

      Lo siento Jordi, eso no es posible.

      1. Jordi

        Gracias Moisés. No siempre todo es posible, ni tan sólo en Excel.

  16. Carlos Ariza

    Buen día,
    gracias por el aporte; estoy utilizando la validación de datos pero los valores de la lista desplegable aparecen diminutos y no es posible leerlos a simple vista; hay que aumentar el zoom de la página y esto me genera algo de demora; es posible que la los valores de la lista se vean más grandes?

    1. Moisés Ortíz Autor

      Hola Carlos, lamentablemente no existe solución para eso. Una opción, que no necesariamente es la mejor, sería utilizar VBA para aumentar el zoom de la hoja al momento de seleccionar la celda que contiene la lista de validación. Otra alternativa sería dejar de utilizar la validación de datos y en su lugar utilizar un control de formulario o control Active X.

  17. Gabriela

    Hola Moises! excelente blog de verdad! tengo una duda, quizas ya este escrita en otra entrada pero no la veo… para hacer una lista desplegable es posible que el rango de la lista a llamar se encuentre en otra hoja del libro? porque intento hacerlo y me dice q no es posible.. gracias de antemano