Excel 2007 - Lista desplegable
Excel 2007 - Lista desplegable
Crear en Excel una lista desplegable es muy sencillo, pero rellenar celdas o determinados datos según el ítem de la lista desplegable para algunos usuarios no es tan sencillo.
Voy a hacer un simple (simplísimo) ejemplo, trabajando con datos inventados. Como puedes observar hay dos archivos Excel en la descarga: uno llamado "Ejemplo_BASE" que es el que debes modificar tú siguiendo este tutorial para lograr crear uno similar a "Ejemplo_FINAL" que es el que he creado yo.
Abre "Ejemplo_BASE", verás que está creado en formato xlsx (formato Excel 2007). El libro Excel se compone de dos hojas: la primera (PRINCIPAL) que es la principal que el usuario tendrá que ir rellenando seleccionando simplemente datos de una lista desplegable y la segunda (DATOS_OBJETO) que es la que contiene los datos reales de los objetos que me he inventado. El usuario debe ver en cada celda de la columna A de la hoja PRINCIPAL una lista desplegable y según el ítem que seleccione, se rellenarán los datos B y C automáticamente. Espero haberme explicado y que entiendas lo que vamos a hacer, si no echa un vistazo rápido a "Ejemplo_FINAL".
Datos reales de los objetos
Mira la hoja DATOS_OBJETO. Verás que hay 5 objetos, la primera columna (A) nos indica el número de serie, la segunda el color del objeto y la tercera es una breve descripción. Very easy.
Asignar nombre a un rango
1.- En la hoja PRINCIPAL voy a crear en la primera columna (en las celdas de la primera columna A - NUMERO DE SERIE) un desplegable donde salgan todos los objetos que existen en la hoja DATOS_OBJETO. Para esto hay primeramente que asignar un nombre a un rango. Ve a la DATOS_OBJETO, en la columna NUMERO SERIE seleccionaremos las filas desde la 2 hasta la 6 (por ejemplo en este caso, tú selecciona las que necesites o después de leer este tutorial ya sabrás lo que debes hacer). Pulsas botón derecho y asignar nombre a un rango. Le voy a poner de nombre NUMERO_SERIE. Queda lo siguiente:
Para asignar el nombre a un rango se puede hacer de varias formas. Como la que acabo de explicar o desde la pestaña Fórmulas -> Nombres definidos -> Asignar nombre a un rango o poniendo el nombre directamente en el textbox que hay sobre la columna A (Cuadro de nombres).
Ya podemos ir a la hoja PRINCIPAL. Seleccionamos toda la columna A (NUMERO DE SERIE). Nos vamos a la pestaña Datos -> Herramientas de datos y seleccionamos Validación de datos. Nos colocamos en la pestaña configuración y en Criterio de validación -> Permitir debemos seleccionar lista. En origen escribimos =NUMERO_SERIE que es el nombre que hemos asignado a los números de serie de la hoja 2. (No te olvides del signo igual). En ese mismo cuadro de diálogo puedes, si quieres, definir un cuadro de error cuando se introducen datos no válidos.
Verás que la celda A1 se ha modificado y nos ha creado una lista desplegable y no debe ser así, por lo tanto, seleccionamos la celda A1 -> Validación de datos y permitir cualquier valor. Ya tenemos la lista desplegable correcta en la columna A.
2.- Según seleccionemos el número de serie en la lista desplegable en la hoja PRINCIPAL en la columna A, se rellenarán automáticamente las celdas B y C según los datos de la hoja DATOS_OBJETO. Para hacer esto usaremos la función BUSCARV que es muy usada y conocida. Aunque parezca complejo es muy sencillo. ESERROR lo utilizo porque si no seleccionas ningún número de serie las celdas se rellenarán erróneamente, así con ESERROR se quedarán vacías. La fórmula que he pegado en la celda B2 es la siguiente:
=SI(ESERROR(BUSCARV(A2; DATOS_OBJETO!$A$2:$C$10; 2; FALSO)); ""; BUSCARV(A2; DATOS_OBJETO!$A$2:$C$10; 2; FALSO))
He hecho la fórmula así para que cuando la pegues en la celda B2 simplemente copies la celda B2 y la pegues directamente en la columna B en las celdas que quieras y automáticamente la fórmula se generará de forma correcta. Yo la he pegado solamente en las 10 primeras filas. Lo mismo para la columna DESCRIPCION DEL OBJETO (C):
=SI(ESERROR(BUSCARV(A2; DATOS_OBJETO!$A$2:$C$10; 3; FALSO)); ""; BUSCARV(A2; DATOS_OBJETO!$A$2:$C$10; 3; FALSO))
3.- Ya funciona todo correctamente. Ahora si te fijas, queda algo desprotegido todo ya que un usuario puede modificar los datos COLOR DEL OBJETO y DESCRIPCION DEL OBJETO y al modificarlos no borran sólo los datos sino que nos borran la ¡FÓRMULA! Esto no lo podemos dejar así, hay que proteger las fórmulas. Para hacer esto hay que proteger la hoja PRINCIPAL. Esto es muy sencillo de hacer pero vamos a ocultar primeramente las fórmulas para que un usuario vea todo más sencillo y no se tenga que preocupar más que seleccionar en una lista desplegable. En la hoja PRINCIPAL seleccionamos la columna A (NUMERO DE SERIE) -> botón derecho -> Formato de celdas. En la pestaña Proteger, destildamos bloqueada y oculta. Ahora seleccionamos las columnas B y C -> botón derecho -> formato de celdas. En la pestaña Proteger, activamos bloqueada y oculta.
Ya se puede bloquear la hoja. Vamos a la pestaña Revisar -> Cambios -> Proteger hoja, ponemos una contraseña (yo he puesto karmany) y veremos que ya está todo correcto: no se pueden borrar las fórmulas de las columnas B y C.
¿Cómo se hace para borrar los datos de las celdas bloqueadas? Muy sencillo, simplemente selecciona las celdas de la columna A bórralas y desaparecerán las de la columna B y C.
Descarga del archivo:
Muy Buen Ejemplo y bien explicado, pero para los nuevos como yo.
Nos cuesta mucho
Podrías poner los ejemplos pasito a pasito o sea Lento y más detallado, para los que somos nuevos en Hojas de Cálculo, y aprendamos más rápido.
Ya hice el ejemplo de como lo quería y me salió perfecto, pero tuve que hacerlo paso a paso.
También se puede hacer en Forma Vertical u Horizontal y con más Campos o Columnas.
De acuerdo al Formato que tu le des a tu Información.
Recibe Un Cordial Saludo
Atentamente
Milton
A ver si puedo probarlo mañana en un Excel 2010 y comento si es compatible.
Cambia BuscarV por ConsultaV a ver si te funciona.
!!!
Que tengas un feliz día.
Un saludo y feliz día.
ja ja ja
A mi en su día sí me sirvió.
Desde mi punto de vista me parece más pésimo cometer semejantes faltas ortográficas.
Yo espero que sigáis hablando de Excel...
estubo mui pesimo