NIVEL: AVANZADO
Tutorial sobre cómo obtener un valor a partir de dos listas desplegables en Excel.
Descargar el archivo Excel de este ejemplo.
Lucas nos escribió con la siguiente consulta: En el tutorial de listas desplegables, vimos cómo mostrar el valor que corresponde al criterio seleccionado en la lista. Elegíamos un país y el resultado nos mostraba las ventas.
En este caso, necesitamos una lista donde podamos seleccionar el país, otra para seleccionar el año, y obtener como resultado el valor resultante del cruce de ambas selecciones.
Sin embargo, en lugar de utilizar listas desplegables (o cuadros combinados), vamos a utilizar Validación de datos. El resultado es el mismo y es más sencillo de implementar.
Antes de seguir, te recomiendo que repases el tutorial de Validación de datos por si tienes dudas.
1. Asignar las listas desplegables de país y año
O, mejor dicho para nuestro caso, los datos válidos.
Teniendo seleccionada la celda B3 (donde tendremos el menú desplegable para el país), vamos a la pestaña “Datos” y “Validación de datos”.
Esto nos abre el menú para configurar la validación.
Como vamos a restringir los valores a una lista, indicamos:
- Permitir: Lista (para que permita ingresar solamente los valores que indiquemos)
- Origen: $E$3:$E$6 (rango donde se encuentran los nombres de los países).
Para los años el proceso es equivalente. Seleccionamos la celda B4 (donde queremos tener la lista desplegable de años), vamos a Datos -> Validación de datos.
- Permitir: Lista.
- Origen: $F$2:$H2 (rango donde se encuentran los años).
2. Identificar las filas y columnas con la función Coincidir.
Si no recuerdas bien cómo utilizar la función Coincidir, te recomiendo que repases el tutorial.
Como estamos aprendiendo, vamos a poner los resultados en celdas donde podamos ver el valor. En este paso, vamos a poner los resultados en la columna C, al lado de las selecciones.
En la celda C4, vamos a poner la fórmula que nos indique en qué posición de la lista de paises se encuentra en país que seleccionamos.
=COINCIDIR(B3;E3:E6;0)
Donde:
- B3: Valor buscado (país)
- E3:E6: lista con los nombres de países
- 0: Indicamos que estamos buscando la coincidencia exacta.
Por ejemplo, si en la celda B4 seleccionamos “Chile”, en C4 obtendremos 3, que nos indica que éste país es el tercer país en la lista. En nuestro caso, el número de fila donde se encuentra el país en la matriz país-año.
Del mismo modo, en la celda D4 introduciremos la fórmula que nos de la posición la de columna del año seleccionado.
=COINCIDIR(B4;F2:H2;0)
3. Obtener el valor a partir de los datos de fila y columna con la función Indice.
Ya tenemos la información del número de fila y columna donde se encuentra el dato que necesitamos a partir de seleccionar el país y el año.
Para obtener el dato que corresponde a las ventas, utilizaremos la función Indice.
Necesitamos el resultado en la celda B6 donde pondremos la siguiente función:
=INDICE(F3:H6;C3;C4)
Donde:
- F3:H6: Matriz de datos con la información.
- C3: El número de fila (en nuestro caso, el país)
- C4: El número de columna (en nuestro caso el año)
De esta forma, pudimos armar una fórmula que nos permita, a partir de seleccionar dos criterios en listas desplegables, el valor que le corresponde.
¿Te gustó este truco o tenés alguna recomendación? No te olvides de dejar tu comentario y compartir esta nota!
Buscá más trucos en: trucosdeexcel.com
Seguime por Twitter, usuario “trucosdeexcel”.
Mandá tus sugerencias o preguntas a: excelman@trucosdeexcel.com




gracias excelman, me salvaste con las listas desplegables y las consultas via email.
Un abrazo, muy bueno el blog
Hola: Muchas garcias por tus aportes.
Al leer el tutorial, intento insertar la formula “=INDICE(F3:H6;C3;C4)” pero me dice “error en la formula”. Alguna recomendación?
Muchas gracias
Perdón, la formula a la que me referia es “=COINCIDIR(B3;E3:E6;0)”
He subido un archivo para que veas lo que quiero lograr (es uno diferente al que estaba haciendo la prueba, que es el que pones para practicar)
http://www.mediafire.com/?xj4ynmtinno
Hojalá puedas darle una miradita. Lo que quiero lograr es que al seleccionar yo el texto “mercados” (por ejemplo), me de el numero que corresponde a “mercados”.
Muchas gracias, y de antemano disculpa las molestias.
Hola Joan, ¿Qué versión de Excel estás utilizando? Me parece que las versiones anteriores al 2003 no la tienen. Si tienes la versión en inglés, sería INDEX(F3:H6,C3,C4) Separado con “,”, no con “;” como la versión en español. Gracias por tu consulta!
Excelente aportacion me has ahorrado horas de trabajo…
Este mismo procedimiento se puede realizar con la funcion BUSCARV?????
Gracias amigo.
Es reconfortante saber que sigue habiendo gente que no es egoísta con sus conocimientos.
Estoy tratando de armar una lista extendida a lo ancho, a partir de un .prn que contiene los recibos o bonos de salarios a fin de poner en columna todos sus conceptos.
El uso de indirecto, coincidir, buscar, validacion de datos, si, etc son muy utiles para eso.
Un abrazo Excelman.
Eduardo:
si se puede, de esta forma
=BUSCARV(valor_buscado;matriz_buscar_en;COINCIDIR(valor_buscado; matriz_buscada; tipo_de_coincidencia]);ordenado)
basicamente reemplazas el indicador de columnas por la funcion coincidir, la cual aplicas en el encabezado de la tabla
excelente tutorial, ahora lo interesante sería que en la tabla se marcará con color el dato, ya intente varias veces y no he podido con el formato condicional