You are on page 1of 17

JLD Excel en Castellano - Usar Microsoft Excel eficientemente: Listas Desplegables Page 1 of 17

JLD EXCEL EN C ASTELLANO - USAR MICROSOFT EXCEL EFICIENTEMENTE


Sugerencias y ayuda para Excel en español. Ejemplos de funciones y fórmulas, gráficos y automatización de hojas de cálculo con Vba.

Inicio Acerca de JLD Excel Ayuda Consultoría Apoyar JLD Excel

Anuncios Google Excel Facturas En Excel Hoja De Excel Excel 2007 В Excel

TRADUCIR ESTA PÁGINA

Anuncios Google Excel 2010 Excel Formulas Realizar Hoja Crear Hoja Seleccionar idioma
Autofiltro Comparar Listas Consolidar Datos Dashboards Excel 2007 Excel 2010 Fechas y
Con la tecnología de Traductor de Google
hora Formato Condicional Funciones y Formulas Graficos Importar
Datos Listas Desplegables Macros Tablas Dinamicas Validacion de Datos Varios
BUSCAR EN EL BLOG

Buscar
Mostrando las entradas más recientes con la etiqueta Listas
Búsqueda personalizada
Desplegables Mostrar las entradas más antiguas
Listas desplegables dependientes – rangos en filas
SÁBADO, MAYO 01, 2010
Entre su e-mail para suscribirse:

http://jldexcelsp.blogspot.com/2008/08/listas-desplegables-dependientes.htmlEl tema de
crear listas desplegables dependientes ha sido tratado abundantemente en este blog. Ni Suscribirse

por casualidad ni por capricho, sino por ser uno de los temas más consultados por mis Delivered by FeedBurner
lectores.

Un lector, cuyo mail he borrado por error y espero que lea esta nota en algún momento,
me comentaba que no lograba crear listas dependientes cuando los valores estaban
Suscribirse a un lector de feeds
ubicados en un rango horizontal (filas) en lugar de vertical (columnas) tal como muestro
en el ejemplo de esta nota.

Como en el caso anterior, el problema reside en el hecho que la función INDIRECTO sólo
PUBLICIDAD
funciona con texto.

Cuando queremos crear una lista de valores desplegable en Excel, la opción Lista de
validación de datos es la alternativa más fácil.

Veamos el caso. Los nombres de los agentes de cada zona de una empresa aparecen en
esta hoja en rangos horizontales

Empezamos por crear el nombre que contiene el rango vertical de las zonas

ARCHIVO DEL
BLOG

Archivo del blog

Ahora asignamos la primer celda de la cada celda del la columna C al nombre de cada RECOMENDADO
zona. Es decir S

Economía Excel - en

http://jldexcelsp.blogspot.com/search/label/Listas%20Desplegables 03/05/2010
JLD Excel en Castellano - Usar Microsoft Excel eficientemente: Listas Desplegables Page 2 of 17

Castellano

Norte = $C$3 Soluciones para


Sur=$C$4 hojas Excel
Este=$C$5 Contextures
Oeste=$C$6 Chip Pearson
Decision Models

ENLAZAR

Enlaza mi Blog

ESTADÍSTICAS

En la celda B9 de la misma hoja ponemos la lista desplegable de las zonas

En la celda B10 creamos la lista desplegable dependiente de los agentes con esta fórmula

=DESREF(INDIRECTO($B$9),0,0,1,CONTARA(INDIRECTO(FILA(INDIRECTO($B$9))
&":"&FILA(INDIRECTO($B$9))))-1)

http://jldexcelsp.blogspot.com/search/label/Listas%20Desplegables 03/05/2010
JLD Excel en Castellano - Usar Microsoft Excel eficientemente: Listas Desplegables Page 3 of 17

Como ven, combinamos INDIRECTO y FILA para "construir" el texto que representa el
rango de los nombres de cada zona, en forma dinámica.
Esta solución tiene un grave problema: si ponemos las listas desplegables en otra hoja, la
fórmula no funcionará correctamente. Aquí nos enfrentamos con dos problemas:

1 – tenemos que crear una referencia a la hoja que contiene los valores de las listas (en
nuestro ejemplo, la Hoja1)

2 – en Validación de datos no podemos usar referencias a hojas remotas directamente;


tenemos que "encapsularlas" en un nombre.

Por estos motivos creamos el nombre "lista_dependientes" que se refiere a esta fórmula:

=DESREF(INDIRECTO(Hoja2!$B$3),0,0,1,CONTARA(INDIRECTO("Hoja1!"&FILA(INDIRECTO
(B3))&":"&FILA(INDIRECTO(B3))))-1)

En esta fórmula creamos el texto de la referencia en la función CONTARA poniendo en


forma explícita el nombre de la hoja que contiene las listas de valores (Hoja1).

Ahora podemos ser fieles al principio de separar los datos de los reportes y usar la lista
dependiente en la Hoja2

El archivo del ejemplo se puede descargar aquíSeguir leyendo...

Posted by Jorge L. Dunkelman at 4:20 PM , Links to this post , 4 comments


Labels: Listas Desplegables, Validacion de Datos

Rangos dinámicos con la función INDIRECTO de Excel.


SÁBADO, ENERO 02, 2010

Excel permite construir rangos dinámicos, tema que ya hemos tratado en diversas
oportunidades en este blog. Rangos dinámicos son aquellos cuya referencia (dirección) se
expande o contrae con los cambios en el número de miembros del rango. Estos rangos se
definen con fórmulas, por lo general con la función DESREF. También hemos visto que
podemos referirnos dinámicamente a un rango usando su nombre como argumento de la
función INDIRECTO, por ejemplo cuando creamos listas desplegables dependientes. Pero
esto genera un problema con los rangos dinámicos: INDIRECTO no acepta fórmulas como
argumentos, sólo texto.
En esta nota veremos un rodeo sencillo a este problema, sin usar macros o funciones
definidas por el usuario.

Seguir leyendo...

Posted by Jorge L. Dunkelman at 10:04 PM , Links to this post , 15 comments


Labels: Listas Desplegables, Validacion de Datos

Listas desplegables en Excel con ajuste automático.


SÁBADO, OCTUBRE 17, 2009

http://jldexcelsp.blogspot.com/search/label/Listas%20Desplegables 03/05/2010
JLD Excel en Castellano - Usar Microsoft Excel eficientemente: Listas Desplegables Page 4 of 17

En Excel es my fácil crear listas desplegables. El método más práctico es usando Validación
de Datos – Listas. En este blog hemos tratado el tema de diversas oportunidades y hemos
mostrado también como crear listas desplegables dependientes.

En relación a este tema recibo a menudo consultas sobre cómo ir eliminando de la lista los
valores que ya han sido seleccionados.

Supongamos que estamos organizando en que mesa se sentarán los invitados a una cena o
recepción. Para el caso supongamos una lista de 16 invitados que habrá que sentar en
cuatro mesas, cuatro en cada una.

Empezamos por poner la lista de invitados en una hoja y una tabla que representa las
mesas y sillas en otra

El objetivo es crear una lista desplegable que pondremos en cada celda del rango C3:F6
(rango que hemos puesto en el nombre “mesas”) de manera que cada vez que ubiquemos
un comensal en la tabla éste desaparezca de la lista.
Mostraremos dos posibilidades: con columnas auxiliares y con fórmulas matriciales.
Con columnas auxiliares.
En la hoja que contiene la lista de invitados creamos una columna auxiliar con el
rótulo “Por ubicar”

http://jldexcelsp.blogspot.com/search/label/Listas%20Desplegables 03/05/2010
JLD Excel en Castellano - Usar Microsoft Excel eficientemente: Listas Desplegables Page 5 of 17

El objetivo de esta columna es controlar que invitado ya ha sido ubicado en alguna mesa.
Para eso usamos la fórmula

=SI(CONTAR.SI(mesas,C2)=1,"",C2)
Por ejemplo, si ubicamos a Carla y a Federico en la matriz de las mesas, obtenemos

Ahora agregamos una nueva columna auxiliar (Aux1)

http://jldexcelsp.blogspot.com/search/label/Listas%20Desplegables 03/05/2010
JLD Excel en Castellano - Usar Microsoft Excel eficientemente: Listas Desplegables Page 6 of 17

La fórmula
=CONTAR.SI($D$2:$D$17,"<="&D2)
da un número de orden a los valores del rango C2:C17 (como la función JERARQUIA a una
serie de números). En caso que el valor de celda sea vacío (la celda no está vacía ya que
contiene una fórmula) el resultado es 0 (cero). Nuestro próximo paso es crear una celda
para controlar cuantas invitados nos quedan por ubicar, es decir, cuantos valores distintos
de cero hay en el rango Aux1. Con este objetivo ponemos esta fórmula en la celda J1
=CONTAR.SI(E2:E17,">0")

Ahora creamos la columna auxiliar Aux2 en el rango F2:F17 con esta fórmula
=K.ESIMO.MAYOR($E$2:$E$17,$J$1-FILA()+2)

Esta columna nos sirve como argumento para la columna final, en el rango G2:G17, donde
obtenemos los valores de la lista desplegable

http://jldexcelsp.blogspot.com/search/label/Listas%20Desplegables 03/05/2010
JLD Excel en Castellano - Usar Microsoft Excel eficientemente: Listas Desplegables Page 7 of 17

Para evitar que en la lista desplegable aparezcan los valores #NUM de las últimas dos
celda, usamos el valor de la celda “control” para crear un rango dinámico que las excluya
con la fórmula

=DESREF(invitados!$G$2,0,0,invitados!$J$1,1)

Aplicamos esta validación de datos al rango “mesas”.

A medida que vamos ubicando a los invitados, la lista se va ajustando y mostrando sólo
aquellos que quedan por ubicar

http://jldexcelsp.blogspot.com/search/label/Listas%20Desplegables 03/05/2010
JLD Excel en Castellano - Usar Microsoft Excel eficientemente: Listas Desplegables Page 8 of 17

Con fórmulas matriciales.


Al igual que en el modelo anterior creamos la lista de los invitados a ubicar en el rango
D2:D17.
La lista de invitados a ubicar la creamos en el rango E2:E17 con esta fórmula matricial
={INDICE($D$2:$D$17,COINCIDIR(K.ESIMO.MAYOR(CONTAR.SI
($D$2:$D$17,"<="&D2:D17),FILA()-1),CONTAR.SI($D$2:$D$17,"<="&D2:D17),0))}

Como puede verse, no obtenemos errores #NUM, pero las celdas al final de la lista no
están vacías. De manera que necesitamos una celda de control, como en la solución con
columnas auxiliares, para que la lista desplegable muestre sólo los nombres disponibles.
En la celda H1 ponemos esta fórmula matricial
={SUMA((CONTAR.SI($D$2:$D$17,"<="&D2:D17)<>0)*1)}

La lista desplegable la creamos con el fórmula

=DESREF('invitados matricial'!$E$2,0,0,'invitados matricial'!$H$1,1)

http://jldexcelsp.blogspot.com/search/label/Listas%20Desplegables 03/05/2010
JLD Excel en Castellano - Usar Microsoft Excel eficientemente: Listas Desplegables Page 9 of 17

Technorati Tags: MS Excel

Posted by Jorge L. Dunkelman at 9:53 PM , Links to this post , 7 comments


Labels: Funciones y Formulas, Listas Desplegables, Validacion de Datos

Lista desplegable con ajuste automático en Excel


VIERNES, JULIO 10, 2009

Esta es una variante de la técnica que mostré en la nota sobre cómo agregar valores
únicos en una lista desplegable con validación de datos.

Un lector me presenta el siguiente caso: ha creado una lista desplegable que muestra una
lista de facturas. ¿Cómo hacer para que las facturas abonadas vayan desapareciendo de la
lista desplegable?

Supongamos que esta es la lista de las facturas

En el rango B6:B19 aparecen los números de las facturas y en el rango C6:C19 si han sido
pagadas (señalado con la palabra “pagada).

En nuestro ejemplo, queremos crear una lista desplegable que sólo muestre aquellas
facturas que no han sido pagadas

Por supuesto, queremos que esta lista sea dinámica, es decir que cuando
pongamos “pagada” al lado de una factura, ésta desaparezca de la lista
.
La solución consiste en crear dos columnas auxiliares y una tercera que será la que
contenga los valores válidos para la lista.

Empezamos por crear la primer columna auxiliar en el rango E6:E19.

http://jldexcelsp.blogspot.com/search/label/Listas%20Desplegables 03/05/2010
JLD Excel en Castellano - Usar Microsoft Excel eficientemente: Listas Desplegables Page 10 of 17

En la celda E6 ponemos esta fórmula

=SI(LARGO(C6)=0,FILA(),"")

y la copiamos a todo el rango.

Esta columna nos da un “número de orden” que es de hecho un número entero único (el
número de fila) que identifica a las facturas que aún no han sido pagadas.

Ahora agregamos una segunda columna auxiliar en el rango F6:F19 con esta fórmula

=INDICE($B$6:$B$19,COINCIDIR(K.ESIMO.MENOR($E$6:$E$19,FILA()-5),$E$6:$E$19))

Como puede verse, sólo las facturas pendientes aparecen en la lista.


Tenemos un pequeño problema y es que cuando una factura ha sido pagada el valor de la
fórmula es #NUM!.
Si usáramos el rango F6:F19 para crear la lista de los valores, también el error #NUM!
aparecería en ella lo cual es poco elegante.

Una de las soluciones es crear una tercera columna en el rango G6:G19 con la fórmula

=SI(ESERROR(F6),"",F6)

http://jldexcelsp.blogspot.com/search/label/Listas%20Desplegables 03/05/2010
JLD Excel en Castellano - Usar Microsoft Excel eficientemente: Listas Desplegables Page 11 of 17

Este rango es el que usamos para definir la lista de valores válidos. Creamos el
nombre "lista"

Ahora usamos validación de datos para crear la lista desplegable en la celda C2

Si quitamos la palabra “pagada” en alguna celda, la factura correspondiente aparecerá


automáticamente en la lista; si agregamos “pagada”, la factura desaparecerá.

Technorati Tags: MS Excel

http://jldexcelsp.blogspot.com/search/label/Listas%20Desplegables 03/05/2010
JLD Excel en Castellano - Usar Microsoft Excel eficientemente: Listas Desplegables Page 12 of 17

Posted by Jorge L. Dunkelman at 2:29 PM , Links to this post , 11 comments


Labels: Listas Desplegables, Validacion de Datos

Listas desplegables dependientes múltiples


LUNES, AGOSTO 04, 2008

En la nota anterior sobre listas desplegables dependientes mostramos cómo crearlas con
validación de datos.
En esa nota vimos como crear una lista desplegable de países y ciudades. Una vez elegido
el país, la segunda lista desplegable mostraba sólo ciudades de ese país.
Algunos lectores me consultan como hacer lo mismo pero con más de dos niveles de
dependencia. Por ejemplo, continentes-países-ciudades.
La técnica es básicamente la misma. Incluimos las listas en rangos nominados (dentro de
nombres, usando Insertar-Nombres-Definir) y luego usamos validación de datos con la
opción Lista y en Origen usamos fórmulas con la función INDIRECTO.
Supongamos este cuaderno con cuatro hojas

En la hoja Continentes tenemos una lista de los continentes

Estos valores nos servirán como referencia a los nombres que contendrán la lista de países
de cada continente. Definimos el rango A1:A7 dentro del nombre "continente"

continente=Continentes!$A$1:$A$7

En la hoja Países creamos campos con las listas de los países de cada continente. Por
comodidad (la mía) he puesto sólo dos países por continente

http://jldexcelsp.blogspot.com/search/label/Listas%20Desplegables 03/05/2010
JLD Excel en Castellano - Usar Microsoft Excel eficientemente: Listas Desplegables Page 13 of 17

Finalmente ponemos listas de las ciudades por países en la hoja Ciudades

Ahora tenemos que definir los nombres. Una forma de ahorrar tiempo es usar el método
Insertar-Nombre-Crear. En la hoja Países seleccionamos la celda A1 y abrimos el menú
Insertar-Nombre-Crear

Como queremos que Excel use la fila superior como rótulo para los nombres, señalamos la
opción "crear nombres en fila superior".

El resultado será:

África=Paises!$A$2:$A$3
América_del_Norte=Paises!$B$2:$B$3
América_Central=Paises!$C$2:$C$3
América_del_Sur=Paises!$D$2:$D$3
Asia=Paises!$E$2:$E$3
Europa =Paises!$F$2:$F$3
Oceanía=Paises!$G$2:$G$3
Como verán Excel ha agregado "_" en los casos que el nombre del continente está formado
por más de una palabra. Esto se debe a que por definición los nombres en Excel no pueden
tener espacios en blanco (ni símbolos especiales).

Usamos el mismo método para definir los nombres en la hoja Ciudades, con este resultado

Congo =Ciudades!$A$2:$A$61
Canadá =Ciudades!$B$2:$B$61
México=Ciudades!$C$2:$C$61

http://jldexcelsp.blogspot.com/search/label/Listas%20Desplegables 03/05/2010
JLD Excel en Castellano - Usar Microsoft Excel eficientemente: Listas Desplegables Page 14 of 17

Venezuela=Ciudades!$D$2:$D$61
China=Ciudades!$E$2:$E$61
Alemania=Ciudades!$F$2:$F$61
Australia=Ciudades!$G$2:$G$61
Angola =Ciudades!$H$2:$H$61
Estados_Unidos=Ciudades!$I$2:$I$61
Guatemala=Ciudades!$J$2:$J$61
Colombia=Ciudades!$K$2:$K$61
Vietnam=Ciudades!$L$2:$L$61
Francia =Ciudades!$M$2:$M$61
Islas_Fidji=Ciudades!$N$2:$N$61

Como ven, todos los nombres tiene el mismo tamaño de rango (de la fila 2 a la 61), lo que
hará que en la lista desplegable aparezcan espacios en blanco. Más adelante veremos
como solucionar este problema.

Ahora que hemos definido todos los nombres, definimos las listas desplegables en la
hoja "Elección"

En la celda B1 definimos la lista con la opción Lista y la fórmula "=continente". Esto crea
una referencia al rango que contiene los nombres de los continentes

En la celda B2 creamos la lista de países que será dependiente del continente elegido en la
celda B1

http://jldexcelsp.blogspot.com/search/label/Listas%20Desplegables 03/05/2010
JLD Excel en Castellano - Usar Microsoft Excel eficientemente: Listas Desplegables Page 15 of 17

En este caso creamos la referencia al rango usando la función INDIRECTO. Además


tenemos que usar la función SUSTITUIR para poner las líneas "_" en lugar de los espacios
entre las palabras, para que el valor de la celda coincida con el nombre del rango

=INDIRECTO(SUSTITUIR(B1," ","_"))

Usamos la misma técnica en la celda B3, usando como referencia el valor de la celda B2

Si elegimos el continente América del Sur, podremos elegir sólo Venezuela o Colombia. Si
elegimos Colombia podremos elegir una de las ciudades que hemos incluido en la columna
Colombia de la hoja Ciudades

Si fuera necesario podríamos agregar más listas dependientes creando los campos
adecuados (barrios, jurisdicciones, etc.).

La técnica que hemos mostrado adolece de un defecto estético, los espacios en blanco.
Para solucionar este problema tenemos que usar rangos dinámicos. Normalmente usamos
la función DESREF para crear rangos dinámicos. El problema en nuestro caso es que la
función INDIRECTO solo acepta rangos como argumento.
Para superar este problema usaremos esta fórmula en la creación de la lista desplegable
dependiente de la celda B3 (ciudades)

=DESREF(INDIRECTO(SUSTITUIR(B2," ","_")),0,0,CONTARA(INDIRECTO(SUSTITUIR
(B2," ","_"))),1)

http://jldexcelsp.blogspot.com/search/label/Listas%20Desplegables 03/05/2010
JLD Excel en Castellano - Usar Microsoft Excel eficientemente: Listas Desplegables Page 16 of 17

Ahora la lista dependientes de ciudades no mostrará espacios en blanco.

La fórmula fue tomada del excelente sitio Contextures de Debra Dalgleish.

El cuaderno con el ejemplo y las fórmulas puede descargarse aquí.

Technorati Tags: MS Excel

Posted by Jorge L. Dunkelman at 10:20 PM , Links to this post , 21 comments


Labels: Funciones y Formulas, Listas Desplegables, Validacion de Datos

Entradas más recientes Página principal Entradas antiguas


Suscribirse a: Entradas (Atom)

COMENTARIOS RECIENTES SEGUIDORES APOYAR JLD EXCEL

Jorge L. Dunkelman wrote... Seguir


El tema está relacionado con el sistema que usa Google Friend Connect
Excel para calcular las fórmulas en las hojas.
Tema... Seguidores (236) Más »
Continue >>

HARKi de VRIEs wrote...


Buenas.Me llama mucho la atención el tema de
&quot;volátil&quot; que habeis utilizado. ¿Qué más...
Continue >>

Jorge L. Dunkelman wrote...


No entiendo si se trata de un torneo por zonas
donde en cada zona se clasifican los primeros o
los...
Continue >>
¿Ya eres miembro?Acceder
Jorge L. Dunkelman wrote...
Hola José,gracias por el aporte. Efectivamente,
INDIRECTO es volátil. También DESREF es
volátil,... ESTADÍSTICAS
Continue >>

José de Diego wrote... 436 Entradas publicadas a la fecha


Hola Jorge felicitaciones y gracias nuevamente por
tu gran aporte. Te comento que uso otra fórmula...
Continue >>

Términos Legales

JLD Excel en Castellano by Jorge Dunkelman is licensed under a Creative Commons Reconocimiento-No comercial-Sin obras derivadas 3.0
España License.

Back to TOP

http://jldexcelsp.blogspot.com/search/label/Listas%20Desplegables 03/05/2010
JLD Excel en Castellano - Usar Microsoft Excel eficientemente: Listas Desplegables Page 17 of 17

Back to TOP
© Blogger template On The Road by Ourblogtemplates.com 2009

http://jldexcelsp.blogspot.com/search/label/Listas%20Desplegables 03/05/2010

You might also like