Saltar al contenido

Lista desplegable donde no se puede seleccionar un dato elegido con anterioridad.


JJMD88

Recommended Posts

publicado

Buenas!!

Tras crear una lista desplegable, es posible que no puedas volver a escoger uno de los elementos de la lista si ya fue escogido en otra celda???

En mi caso sería en una factura, que selecciono el producto y en la siguiente celda me sigue saliendo el mismo producto para poder elegirlo, y no quiero.

Gracias de antemano! ^^

publicado

Hola JJMD88

La función es la siguiente

=SI(ESTEXTO(INDICE(lista;K.ESIMO.MENOR(SI(selec=0;COINCIDIR(lista;lista;0);"");FILA(INDIRECTO("1:"&FILAS(selec))))));INDICE(lista;K.ESIMO.MENOR(SI(selec=0;COINCIDIR(lista;lista;0);"");FILA(INDIRECTO("1:"&FILAS(selec)))));"")

El condicional SI sólo está para que cuando en la lista no haya texto devuelva un blanco, es decir SI(ESTEXTO(función);función;nada), realmente lo que nos trae los datos en fucnión de la columna auxiliar (la B) es lo que llamo función para abreviar, es decir

INDICE(lista;K.ESIMO.MENOR(SI(selec=0;COINCIDIR(lista;lista;0);"");FILA(INDIRECTO("1:"&FILAS(selec)))))

lista y selec son dos nombres que he usado para definir dos rangos, el de la lista original y el de la auxiliar. Están definidos con la función DESREF, de forma que si añades datos no hace falta cambiar el rango, se hace automáticamente. (Lo que si haría falta es ampliar el rango de la función matricial. Si la lista va ase rfija puedes fijar el rango directamente por seleción del mismo y olvidarte de DESREF.

El resto lo hace la función INDICE aplicada al rango "lista", con K.ESIMO.MENOR(SI(selec=0;COINCIDIR(lista;lista;0);"");FILA(INDIRECTO("1:"&FILAS(selec)))) obtenemos un número en función de si el rango "selec" es igual a 0 (entonces devuelve un número) o no (en este caso queda en blanco). FILA(INDIRECTO("1:"&FILAS(selec))) nos proporciona el contador para K.ESIMO.MENOR

Un saludo desde Vitoria

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.