martes, agosto 20, 2013

Truco para consolidar datos de varias hojas Excel

Excel permite la creación de rangos tridimensionales, tal como mostré en el pasado (apretar el enlace para ver la nota). Un rango tridimensional es aquel que se extiende a más de una hoja. En este ejemplo tenemos un cuaderno con cinco hojas (ya he señalado que separa datos de esta manera es una mala práctica pero a los efectos del ejemplo ignoraré mis propias recomendaciones).




Las hojas "Ventas…" contienen los totales de ventas de cada sucursal para cada año; en la hoja "Totales" queremos consolidar el valor de la celda B6 de todas las hoja de ventas



En lugar de la técnica que mostré en la nota mencionada más arriba, podemos usar este truco:

En la celda C3 de la hoja Totales introducimos =SUMA('*'!B6)



Al cerrar el paréntesis y apretar Enter, Excel lo transforma en

=SUMA('Ventas 2009:Ventas 2012'!B6)



Como puede apreciarse, todas las hojas del cuaderno, excepto la activa, son incluidas en el rango tridimensional.

Ahora supongamos que el cuaderno contiene también hojas para los costos de ventas, con la misma estructura (los totales en la celda B6). Para que estas hojas no aparezcan en la fórmula podemos condicionar el comodín con un criterio, por ejemplo

=SUMA('Ventas*'!B6



Esta técnica no está limitada a una única celda. Podemos usar, por ejemplo,

=SUMA('Ventas*'!B2:B5

Tampoco está limitada a la función SUMA (la lista de funciones puede verse en la nota ya mencionada).

2 comentarios:

  1. Jorge, si movemos las hojas la formula puede no funcionar, me parece entender que si las hojas estan ubicadas en su orden 1, 2 y 3 y la formula es
    =SUMA('Hoja1:Hoja3'!B6), el resultado de las tres hojas es sumado, pero si muevo la hoja 2 y la pongo al final (el nuevo orden seria hoja 1, 3 y 2), la formula solo sumara los datos de B6 de las hojas 1 y 3 unicamente. Lo que interpreto es que la formula ejecuta la operacion con las hojas que se encuentren entre la hoja A y la hoja B de la formula incluyendo tambien a estas dos... me equivoco?

    ResponderBorrar
  2. Hola Juan,

    así es, buena observación. Excel no adapta la fórmula de acuerdo a los cambios en el orden de las hojas.
    Por otro lado, si se puede cambiar el nombre de las hojas sin afectar el resultado.
    Por lo visto Excel utiliza el número de índice de las hojas y no el nombre.
    Conclusión: no utlizar rangos tridimensionales si existe la posibilidad que cambiemos el orden de las hojas.

    ResponderBorrar

Nota: sólo los miembros de este blog pueden publicar comentarios.