jueves, junio 18, 2009

La función JERARQUIA en tablas dinámicas.

Un lector me consulta cómo usar la función JERARQUIA en un campo calculado de una tabla dinámica.

Supongamos este ejemplo





función JERARQUIA en tablas dinámicas

Como pueden apreciar, el campo Jerarquía no es parte integral de la tabla dinámica. Sencillamente, lo hemos creado usando la función JERARQUIA.


Al no estar ligado a la tabla, si agregamos o quitamos vendedores en la lista de origen, éste campo no se adaptará a los cambios.


Lo ideal sería crear un campo calculado usando esta función. Pero lamentablemente no se puede hacer.


Como en casi todas lo que queremos hacer con Excel, existe una solución. Pero primero tenemos que definir qué es lo que queremos hacer.


Si la tarea es ordenar los vendedores por el total de ventas, podemos usar las funcionalidades del botón Avanzado del menú de Configuración de campo



función JERARQUIA en tablas dinámicas

En las opciones de Autoordenar señalamos Descendiente (o Ascendiente).

función JERARQUIA en tablas dinámicas

En la parte derecha del formulario se encuentra el comando Automostrar que nos permite mostrar los n valores superiores (o inferiores).


Después de aplicar Autoordenar la tabla se verá así



función JERARQUIA en tablas dinámicas

Si queremos agregar un campo Jerarquía que sea parte integral de la tabla dinámica tendremos que agregar dos campos auxiliares en la lista de origen.


El primer problema es que no podemos usar JERARQUIA en la lista de origen, ya que queremos calcular el orden por el total de ventas. Por lo tanto creamos una columna auxiliar que en cada línea de cada vendedor nos muestre el total de ventas de ese vendedor.


Esto lo solucionamos fácilmente con SUMAR.SI



función JERARQUIA en tablas dinámicas

Como pueden apreciar, las celdas en la columna C siempre muestran el total de ventas del vendedor.


El próximo paso es calcular el orden de rango de cada vendedor en base a la columna auxiliar. No podemos usar JERARQUIA ya que en caso de valores repetidos todos reciben el mismo número de jerarquía y el número siguiente es omitido.

En nuestro caso pueden ver que el 2 y el 3 no existen, tampoco el 5 y el 6, el 8, el 9, el 11 y el 12


función JERARQUIA en tablas dinámicas

Para superar este problema usaremos la fórmula que mostramos en la reseña sobre la función JERARQUIA

={SUMA(1/SI($C$2:$C$16>C2,CONTAR.SI($C$2:C16,$C$2:$C$16),9.999999999E+307))+1}



función JERARQUIA en tablas dinámicas

Se trata de una fórmula matricial que debe ser introducida apretando Ctrl+Mayúsculas+Enter. La explicación sobre la fórmula puede leerse en la nota mencionada.


Ahora podemos construir la tabla dinámica incluyendo el campo Jerarquia


Para obtener el resultado correcto en el campo Jerarquia, usamos la función MAX en la definición del campo

función JERARQUIA en tablas dinámicas

El último retoque es ocultar el total del campo Jerarquia (que no tiene ningún sentido), dándole a la fuente el mismo color del fondo de la celda

función JERARQUIA en tablas dinámicas



Technorati Tags:

lunes, junio 15, 2009

Mostrar y ocultar gráficos con Autofiltro

Un pequeño truco que vi en el excelente blog DPH y que puede ser útil en ciertas circunstancias (o por lo menos dar la impresión que somos maestros en esto del Excel).
Supongamos que queremos representar estos datos


ocultar gráficos con Autofiltro

Una posibilidad es organizarlos en un “dashboard” como este

ocultar gráficos con Autofiltro

Pero con este truco podemos crear una lista desplegable de gráficos. El primer paso consiste en crear los gráficos, preferentemente en una nueva hoja (de acuerdo a nuestro principio de separar los datos de los reportes).
En esta nueva hoja, elegimos tantas celdas contiguas de una columna como gráficos tenemos (en nuestro caso cuatro). Ampliamos el alto de la fina y el ancho de la columna de manera la celda se acomode al tamaño del gráfico

ocultar gráficos con Autofiltro

En cada celda escribimos el título del gráfico que contendrá (o cualquier otro texto relevante). Movemos los gráficos de manera que ocupen los límites de cada celda, lo que ocultará el teto de la celda.
En la celda por encima del primer gráfico ponemos un texto como “Elegir gráfico a mostrar”

ocultar gráficos con Autofiltro

El último paso es activar Autofiltro

ocultar gráficos con Autofiltro

Como pueden ver, podemos elegir el gráfico a mostrar. Por ejemplo, elegimos Departamento 1

ocultar gráficos con Autofiltro

Todos los demás gráficos quedan ocultos.
Esta técnica puede ser muy útil cuando queremos mostrar datos relacionados cuyas escalas son distintas (por ejemplo Ventas, costos y ganancias).







Technorati Tags:

sábado, junio 13, 2009

Contar condicional distinguiendo entre mayúsculas y minúsculas

La función CONTAR.SI no distingue entre minúsculas y mayúsculas cuando contamos las apariciones de una palabra o cadena de texto en un rango.

Por ejemplo, en el rango A1.A12 aparece la palabra “manzana”, siete veces escrita con mayúsculas (MANZANA) y cinco veces en minúsculas (manzana)



Contar condicional con mayusculas

Si queremos contar cuantas veces aparece MANZANA en el rango, estaríamos tentados a usar esta fórmula

=CONTAR.SI(A1:A12,"MANZANA")

El problema es que el resultado es 12, es decir, CONTAR.SI no distingue entre minúsculas y mayúsculas

Contar condicional con mayusculas

La solución consiste en usar la función IGUAL(). Esta función compara dos textos y da como resultado VERDADERO o FALSO, tomando en cuenta minúsculas y mayúsculas.


Como ya hemos explicado en el pasado, podemos forzar a Excel a convertir VERDADERO en 1 y FALSO en 0, multiplicando estos valores lógicos por 1 (o usándolos en alguna operación aritmética). Sobre esta base podemos escribir esta fórmula matricial


={SUMA(--IGUAL("MANZANA",A1:A12))}

Contar condicional con mayusculas

El doble signo “-“ a la izquierda de IGUAL tiene la función de convertir la matriz de VERDADERO y FALSO generada por la función en un vector de 1 y 0, que son sumados por la función SUMA.


Como toda fórmula matricial, ésta debe ser introducida apretando simultáneamente Ctrl+Mayusculas+Enter (lo que hace que aparezcan los corchetes).


Si reemplazamos “MANZANA” por “manzana”, veremos que el resultado es 5

Contar condicional con mayusculas




Technorati Tags: