Clase jueves 14/03/2013 (parte 3/3 – subparte 2/3). Rangos dinámicos. INDIRECTO

Continuando con los rangos dinámicos, vimos una buena opción para generar referencias dinámicas a través de la función INDIRECTO (para más usos de interés ver este enlace). Esta función recibe una cadena de texto con una referencia y devuelve la propia referencia. Eso permite indicar cosas como INDIRECTO(“A1″), pero también otras combinaciones como INDIRECTO(A2&”!B:B”), pudiendo contener A2 un nombre de rango o un nombre de pestaña, por ejemplo (ver este enlace con el ejemplo extendido con el que estuvimos trabajando en clase). En resumen, teníamos un dato mes, con una lista desplegable de valores posibles creados mediante validación de datos:

Por cada mes, teníamos una pestaña con los datos de las ventas del mes, con las ventas en la columna B. Así, mediante la fórmula de arriba INDIRECTO(A2&”!B:B”) estamos indicando que se concatene el mes (“febrero” en la imagen, pero será el que se vaya seleccionando) con la cadena “!B:B”; recordemos que la notación ! indica que estamos accediendo a una parte de una hoja (en el ejemplo “febrero”), concretamente a la columna B completa (B:B). Así, esta llamada a la función INDIRECTO estaría devolviendo la referencia a la columna B de una determinada pestaña, que será escogida de forma dinámica a través de la lista desplegable, pero sin tener que variar la función anterior. La referencia obtenida se pasará a la función SUMA, con: =SUMA(INDIRECTO(A2&”!B:B”)), logrando así la suma dinámica del mes que seleccione el usuario de la hoja.

Diversos ejemplos avanzados del uso de esta función se pueden encontrar en las referencias de la sesión 8 en moodle, o bien en enlaces como éste, éste o éste otro.