lunes, octubre 15, 2007

Rangos tridimensionales en Excel (3D ranges)

En la nota anterior sobre CONTAR.SI con rangos en varias hojas de Excel mencionábamos los rangos tridimensionales (rangos 3D).
Rangos tridimensionales son aquellos que se extienden a más de una hoja. Supongamos un cuaderno con tres hojas, donde cada hoja contiene datos de ventas de los agentes de una empresa. Cada hoja contiene los datos de un año determinado. Por ejemplo, la tabla de la Hoja1 se ve así:




La Hoja2 y la Hoja3







Si queremos sumar el total del Agente 1 para los años 2002 (Hoja1), 2003 (Hoja2) y 2004 (Hoja3) podemos usar esta fórmula:

=SUMA(B2;Hoja2!B2;Hoja3!B2)

Pero en lugar de usar referencias separadas para cada rango (la celda B2 en cada hoja, en nuestro ejemplo), podemos usar un rango tridimensional:

SUMA(Hoja1:Hoja3!B2)

De la misma manera, si queremos sumar las ventas de todos los agentes a lo largo de los tres años, usamos la fórmula

=SUMA(Hoja1:Hoja3!B2:B6)

O el promedio de ventas de los agentes a lo largo de los tres años

=PROMEDIO(Hoja1:Hoja3!B2:B6)


No todas las funciones pueden ser usadas con rangos tridimensionales. De acuerdo a la ayuda de Excel, las funciones que permiten el uso de rangos 3D son:
SUMA, PROMEDIO, PROMEDIOA, CONTAR, CONTARA, MAX, MAXA, MIN, MINA, PRODUCTO, DESVEST, DESVESTA, DESVESTP, DESVESTPA, VAR, VARA, VARP y VARPA.
A juzgar por un artículo del año 1999 del Excel Experts E-letter (EEE) publicado por David Hager, hay más funciones que aceptan rangos 3D que las mencionadas por la ayuda de Excel. Entre ellas: PERCENTIL, CUARTIL, K.ESIMO.MENOR, K.ESIMO.MAYOR, JERARQUIA, MEDIANA, MEDIA.ACOTADA, COEFICIENTE.ASIMETRIA, Y, O, DESVPROM, DESVIA2, SUMA.CUADRADOS.


Como con todo rango en una fórmula, este puede ser introducido manualmente, escribiendo cada uno de los términos, o "apuntando" al rango con el mouse.
En este caso, empezamos escribiendo el nombre de la función



Luego, manteniendo la tecla Mayúsculas (Shift) apretada señalamos con el mouse la pestaña de la última hoja en nuestro rango



Finalmente marcamos el rango de celdas



Los rangos tridimensionales no pueden ser usados con fórmulas matriciales. Es posible hallar muchas UDF's (funciones definidas por el usuario) en la red que dan respuesta al uso de rangos tridimensionales en fórmulas matriciales o funciones que no usan este tipo de rangos.

Mi favorito es el complemento MOREFUNC.XLL de Laurent Longre, ya mencionado en mi nota anterior, y que puede descargarse aquí.
Este complemento trae varias funciones que trabajan con rangos 3D y amplían su uso más allá de la capacidad de las funciones nativas de Excel:

COUNTIF.3D: la función CONTAR.SI con rangos 3D

THREED: convierte un rango 3D en un rango simple, permitiendo de esta manera el uso de rangos tridimensionales en fórmulas matriciales.

Por ejemplo, si queremos contar todos los valores mayores a 5000 en las tres hojas de nuestro ejemplo, al usar la fórmula

=CONTAR.SI(Hoja1:Hoja3!B2:B6;">5000")

el resultado es #¡VALOR!

En cambio usando =COUNTIF.3D(Hoja1:Hoja3!B2:B6;">5000") obtenemos el resultado "10".

Para usar estas fórmulas debemos primero instalar el complemento. Luego podeemos usar el asistente de funciones



y seleccionar la función





Technorati Tags:

sábado, octubre 06, 2007

CONTAR.SI con rangos en varias hojas de Excel

Entre las muchas consultas (más de 50 y que serán respondidas por lo que pido paciencia a mis lectores) que se han acumulado durante mis vacaciones me encuentro con la siguiente:

Si uso CONTAR.SI en el rango de una hoja me funciona perfectamente, pero me sale
error si lo uso en un rango 3D (en varias hojas)

La función nativa CONTAR.SI de Excel no funciona con rangos tridimensionales. Una posibilidad es usar la función COUNTIF.3D del complemento desarrollado por Laurent Longre, y que ya había mencionado en mi nota sobre la función INDIRECTO con cuadernos Excel cerrados. Este complemento (add-in) puede descargarse del sitio de Laurent.
Una vez instalado el complemento, accedemos a la función el asistente de funciones




La función tiene los mismos argumentos que la función CONTAR.SI nativa de Excel



Hay que tener en cuenta que si la referencia es a un archivo remoto, éste tiene que estar abierto.

Me permito agregar que el complemento de Laurent Longre contiene una miríada de funciones muy útiles.


Otra solución es crear una función definida por el usuario (UDF), como las que aparecen en esta nota de Daily Dose of Excel.

En los próximos días espero publicar una nota más amplia sobre el tema de fórmulas tridimensionales en Excel.


Technorati Tags:

miércoles, septiembre 05, 2007

JLD de Vacaciones

Queridos Lectores

desde el próximo viernes, 7 de setiembre, hasta el 3 de octubre estaré de vacaciones, tal como ya les había comentado.

Durante mis vacaciones este blog permancerá inactivo y tampoco responderé a mails.

Hasta pronto


Technorati Tags: