Traducir el blog

Desplegable con valores únicos ordenados

Posted on febrero 07, 2022 by Excel Pedro Wave

Sabiendo lo importante que es introducir correctamente los datos en una celda, voy a explicar cómo desplegar una lista de valores únicos ordenados usando fórmulas, en cualquier versión igual o superior a Excel 2010, lo que nos ayudará a controlar los datos que los usuarios introduzcan en una celda cualquiera...

La validación de datos (enlace aquí) permiten restringir los valores que los usuarios escriben en las celdas, consiguiendo introducir valores exactos y coherentes.

Limitando la entrada de datos a elementos predefinidos en una lista desplegable (enlace aquí) se impide introducir datos inexactos, que luego dan lugar a un cúmulo de errores al analizar los datos introducidos "malamente", a no ser que previamente se haya hecho limpieza de datos (enlace aquí), que es una de las tareas más pesadas para un buen analista de datos. Mas adelante le dedicaré un capítulo aparte a la limpieza de datos.


Desplegable con valores únicos ordenados

En la siguiente imagen se han introducido unos cuantos valores en la columna B (VAL), como ejemplo de lista desordenada, duplicada y con errores y espacios en blanco. ¡Vamos! ¡Lo típico si se introducen datos sin ningún control!

Esos valores están desordenados, duplicados, en blanco o con errores del tipo: #N/D (no disponible), #¡DIV/0! (división por cero), #¿NOMBRE? (error en el nombre de la función).

De esos valores solamente se quieren los valores sin errores, que sean distintos de blanco y que sean únicos y sin duplicar, y que además estén ordenados para que sean fáciles de buscar al aplicar la validación de datos a celdas con una lista desplegable.

La columna D (ORD) contiene una lista ordenada sin errores y sin valores duplicados, pero sigue habiendo valores en blanco.

La columna E (UNI) es una lista con valores únicos y ordenados, aunque los espacios en blanco aparecen al final de la lista.

En la columna G se han eliminado los espacios en blanco al final de la lista, con lo que es la lista que se usará en el desplegable de la celda G2.


Prueba y descarga este desplegable

He subido el ejemplo de validación de datos con una lista desplegable, con valores únicos ordenados, a la nube de Microsoft OneDrive para que lo pruebes y lo descargues si te apetece, o por si quieres usarlo en tus hojas de cálculo. Está protegido sin contraseña y se puede descargar con uno de los botones de abajo a la derecha, y recordar que hay que habilitar la edición al abrirlo.



En esta hoja se pueden editar las celdas del rango B3:B30, para así poder cambiar los valores de entrada que se quieran probar.

IMPORTANTE: Si se aumenta el rango de la columna B habrá que modificar manualmente los nombres definidos: VAL1INI, VAL3AUX y VAL5AUX.

COMPATIBILIDAD: Con versiones de Excel que no soportan matrices desbordadas, habrá que expandir las fórmulas de matriz como se explica en este enlace:

Expandir una fórmula de matriz (microsoft.com)

La celda G2 contiene la validación de datos con la lista desplegable de valores únicos ordenados, sin espacios en blanco y sin errores.

PROPUESTAS PARA VERSIONES RECIENTES DE EXCEL:

En la columna I he incluido la matriz desbordada propuesta por Gabriel Raigosa aquí, con las funciones FILTRAR, UNICOS y ORDENAR, que únicamente funcionan en versiones recientes de Excel.

En la columna K he incluido la matriz desbordada propuesta por Gerson Pineda aquí, con la función LET, que sólo funciona en Excel para Microsoft 365; Excel para la Web y Excel 2021.


Cómo desplegar valores únicos ordenados

En esta página en inglés hay multitud de métodos con listas desplegables:

The Ultimate Guide to Dropdown Lists in Excel | How To Excel

Ya sé que Microsoft ha incluido fórmulas de matriz dinámica en las últimas versiones de Excel, con funciones como UNICOS y ORDENAR, que facilitan la creación de listas desplegables únicas y ordenadas, pero no son compatibles con todas las versiones de Excel, por lo que no las he usado en mi desplegable...

También sé que Microsoft está desarrollando el autocompletar para listas desplegables en Excel para Windows, pero aún no han conseguido la exclusión de duplicados y solamente está disponible si estás suscrito al canal con la versión Beta de Excel, como se puede leer en esta página en inglés:

Speed up data entry and validation with AutoComplete for dropdown lists in Excel for Windows - Microsoft Tech Community


Traducido de la página anterior:

El algoritmo de Autocompletar para la lista desplegable hace coincidir la cadena que escribe en la celda de la lista desplegable con las palabras de los elementos de la lista desplegable y luego muestra solo los elementos de la lista coincidentes. A medida que escribe más caracteres, la lista desplegable se contrae y, a la inversa, cuando elimina caracteres, se expande. Las palabras coincidentes pueden provenir de cualquier parte de la cadena del elemento de la lista: al principio, en el medio o al final. Además, la lista desplegable excluye elementos en blanco de la lista desplegable Validación de datos.

Será de gran ayuda cuando se libere esa versión Beta pero, mientras tanto, nos tendremos que conformar con otros métodos de despliegue en celdas de Excel.

Para obtener una lista desplegable con valores únicos ordenados se pueden usar cualquiera de esos métodos, pero me he decantado por usar únicamente fórmulas y nombres definidos, lo que hace que mi método sea compatible con cualquier versión igual o superior a Excel 2010, incluso en Excel para la Web.


Mi método para desplegar valores únicos ordenados

Mi propio método se basa en usar nombres definidos mediante el Administrador de nombres en Excel, en los que se definen rangos de celdas y fórmulas con matrices dinámicas. Desde la cinta de opciones se selecciona: Fórmulas > Administrador de nombres

En esta imagen están los nombres definidos necesarios para crear una lista con valores únicos ordenados.

Son estos 7 nombres definidos en el ámbito de la hoja 'VAL':

El nombre VAL0TXT es el valor de la celda G2 con el desplegable.

El nombre VAL1INI es el rango de celdas con los datos de origen.

El nombre VAL2ORD contiene la fórmula que ordena los datos. He corregido un error en esta fórmula detectado por Gabriel Raigosa en este enlace:

Desplegable en una celda con valores únicos ordenados | El foro Excel de TodoExcel.com

Y explicado por mí mismo el problema en este otro enlace:

Desplegable en una celda con valores únicos ordenados | El foro Excel de TodoExcel.com 

El nombre VAL3AUX es el rango auxiliar de celdas ordenadas de la columna D.

El nombre VAL4UNI contiene la fórmula que deja valores únicos y los valores en blanco al final.

El nombre VAL5AUX es el rango auxiliar de celdas únicas ordenadas de la columna E.

El nombre VAL6FIN contiene la fórmula que elimina los valores en blanco del final y obtiene la lista de valores únicos ordenados.

AVISO: Se puede eliminar la fórmula matricial desbordada de la celda G3, pues solamente se usa como comprobación. Lo que no se puede eliminar son las listas de las columnas auxiliares D y E, pues si no existieran dejarían de funcionar las fórmulas de los nombres definidos.

El resultado de todo este despliegue de nombres definidos y de fórmulas se obtiene en la celda G2, que contiene la siguiente validación de datos, con origen en el nombre definido: =VAL6FIN



Con este desplegable ya tenemos el control de los valores que se pueden introducir en una celda cualquiera.

En el siguiente artículo he diseñado mi propio trivial de astronautas basado en este tipo de desplegable:

Test Espacial | #ExcelPedroWave

Incluye un vídeo que explica cómo usar el desplegable en cualquier otro libro.

1 Response to "Desplegable con valores únicos ordenados"

.
gravatar
Excel Pedro Wave Says....

Si quieres saber cómo usar este desplegable en cualquier otro libro, lo he explicado en un vídeo en el siguiente artículo: Test Espacial | #ExcelPedroWave

Leave A Reply

Dime si te gusta lo que lees y, si no te gusta, dime por qué. Tengo habilitada la moderación de comentarios. Tu comentario se publicará pronto.

Mi lista de blogs