Ampliando el modelo del artículo ”búsqueda de elementos idénticos en distintas tablas” ¿Qué podemos hacer cuando tenemos que buscar un elemento en distintas tablas y que, además, me devuelva información de distintas columnas (tablas e indicadores de columna variables )?
En este ejemplo vamos a manejar las tablas dentro de una misma hoja. Supongamos que nuestra tabla de salarios ahora tiene dos campos: Sueldo Bruto y Bruto mes. Por otro lado supongamos que nuestra tabla de ventas no tiene una única columna sino cuatro, correspondientes al desglose por trimestres.
Queremos realizar un cuadro resumen con la información de nuestros comerciales pero con la posibilidad de elegir entre los distintos campos disponibles para cada tabla, como se puede ver en la siguiente figura:
1. Nos situamos en E17 y escribimos las siguientes tablas:
2. Seleccionamos el rango E17:F18 y vamos al menú Insertar/Nombre/Crear. Por defecto nos propone nombres en columna izquierda: aceptamos.
3. Seleccionamos el rango E21:F24 y seguimos el paso anterior. Con estos dos pasos ya hemos conseguido que el nombre de campo de cada tabla se corresponda con el número de columna que ocupa dentro de dicha tabla.
4. Nos situamos en B3 y vamos al menú Datos/Validación de datos y marcamos Permitir/Lista y en el recuadro origen seleccionamos E17:E18. Aceptamos.
5. Nos situamos en C3 y vamos al menú Datos/Validación de datos y marcamos Permitir/Lista y en el recuadro origen seleccionamos E21:E24. Aceptamos.
Con los pasos 4 y 5 hemos generado las listas desplegables con las opciones para cada tabla.
6. Nos ponemos en B4 y escribimos la siguiente fórmula:
=BUSCARV($A4;INDIRECTO(B$2);INDIRECTO(B$3);FALSO)
La primera parte de la fórmula =BUSCARV($A4;INDIRECTO(B$2); ya ha sido explicada en el artículo “búsqueda de elementos idénticos en tablas variables”. La segunda parte de la fórmula INDIRECTO(B$3);FALSO) significa lo siguiente. INDIRECTO B$3 leerá el contenido de B3 y lo transformará en referencia válida. En B3 tendremos, por ejemplo, el nombre Bruto_mes. Como hemos creado previamente estos nombres (ver pasos 2 y 3) INDIRECTO “cambia” B$3 por Bruto_mes y, por lo tanto, nos devolverá el valor que tiene asignado dicho nombre, que es dos. Y dos es precisamente el número de columna que ocupa Bruto_mes en la tabla Salarios.
7. Sólo nos queda copiar esta fórmula en el rango B4:C13 y trabajo terminado.
No hay comentarios:
Publicar un comentario