Todo sobre tablas dinámicas Ocultar filas con valor cero en tablas dinámicas. Al trabajar con tablas dinámicas puede suceder que queramos ocultar filas cuyo valor es 0 (cero). La forma de hacerlo depende de la estructura de los datos que alimentan la tabla dinámica. Si no hay valores repetidos en el área de las filas, como en este caso
Seguimos los siguientes pasos: 1 – Creamos la tabla dinámica y agregamos el campo “Valor” en el área de página
2 – Seleccionamos el campo de página y abrimos el menú de configuración de campo
3 – En la ventanilla “ocultar elementos” marcamos el 0 y apretamos “Aceptar”. Las filas de los elementos con valor 0 no aparecen en la tabla.
Esta técnica no funciona si hay elementos repetidos en el área de las filas, como en este caso
En este caso agregamos una columna auxiliar con esta fórmula
=--SI(SUMAR.SI($A$24:$A$35,A24,$B$24:$B$35)<>0,1)
Esta fórmula evalúa el total de cada grupo de valores para cada línea del grupo que totalice 0 da 0; en caso contrario 1. Arrastramos el campo Auxiliar al área de página y seleccionamos 1
Las filas que totalicen 0 desaparecen.
Totales acumulados en tablas dinámicas de Excel.
Crear totales acumulados en tablas dinámicas de Excel es fácil, como mostraremos en esta nota. Supongamos estos datos de ventas de dos sucursales
A partir de estos datos construimos una tabla dinámica normal
Para lograr que la tabla muestre los totales acumulados, abrimos el menú de configuración de campo, apretamos el botón Opciones, en Mostrar datos como elegimos Total en y en Campo base elegimos Mes
La tabla dinámica muestra ahora el acumulado por mes
Para mostrar el acumulado por Sucursal tenemos que agregar este campo a la tabla. Volvamos al total normal y agreguemos el campo Sucursal en el área de columnas
Ahora al definir Mostrar datos como Total en y Campo base Mes, veremos
Si cambiamos la base a Sucursal, veremos
Ahora los acumulados son por fila, a lo largo del mes. También podemos arrastrar el campo Sucursal al área de filas, a la izquierda de Mes y poniendo la base a Mes veremos el acumulado por mes de cada sucursal
Determinar la última fecha de un acontecimiento.
Dada una lista de clientes y fechas de contacto, queremos determinar cuál es la fecha más reciente en la cual hemos contactado a cada uno de los clientes. Podemos resolver este problema de dos maneras: con fórmulas matriciales y con tablas dinámicas. Supongamos esta tabla
Solución con fórmulas matriciales. Empezamos creando una lista donde en la primer columna ponemos los nombres de los clientes
El segundo paso consiste en definir dos nombres: clientes que contiene el rango A2:A15 y fechas que contiene el rango B2:B15
En la celda D2 ponemos esta formula matricial =MAX((clientes=D2)*fechas) Como toda fórmula matricial la introducimos apretando simultáneamente Ctrl+Mayúsculas+Enter. Ahora copiamos la fórmula a las restantes celdas del rango
Para explicar como funciona esta fórmula matricial, veamos una solución que usaría columnas auxiliares.
En la primer columna auxiliar comparamos si el cliente de la fila coincide con el cliente que estamos buscando (en nuestro caso Cliente 1).
En la segunda columna auxiliar simplemente multiplicamos la columna de las fechas por la primer columna auxiliar. Dado que Excel interpreta VERDADERO como el valor 1 y FALSO como 0, obtenemos fechas sólo para el cliente 1. Ahora es evidente que la fórmula =MAX(D2:D15) nos dará la última fecha del Cliente 1. Al usar nuestra fórmula matricial hacemos lo mismo pero evaluando cada uno de los clientes de acuerdo a la fila en la tabla de resultados. Esta solución tiene dos inconvenientes: 1 - si se trata de una hoja con una gran cantidad de datos, el recalculado de la hoja puede ser muy lento. 2 - Cada vez que agreguemos un cliente a nuestra base de datos, tendremos que modificar la tabla de resultados agregando el cliente y copiando la fórmula. Estos inconveniente se pueden superar usando tablas dinámicas en lugar de fórmulas matriciales. Solución con tablas dinámicas.
Seleccionamos la celda A1 (o cualquier celda de la lista) y creamos una tabla dinámica
Arrastramos el campo Clientes al área de filas y el campo Fechas al área de datos
Activamos el menú de configuración de campo para el área de datos y hacemos estos cambios: # - elegimos resumir por Máx
# elegimos el formato de fecha para los valores
Como podemos ver obtenemos el mismo resultado como con las fórmulas matriciales
Por supuesto, la fila Total General no tiene ningún sentido, por lo cual quitamos la señal de la opción Totales generales de columnas en el menú Opciones de tabal dinámica.
Esta solución es más eficiente que la anterior. Podemos usar rangos dinámicos para que las nuevas entradas sean procesadas automáticamente al actualizar la tabla dinámica. Agrupar datos de tablas dinámicas de acuerdo a valores numéricos Hasta ahora hemos visto como agrupar (y desagrupar) datos en una tabla dinámica en base a campos de fechas o texto. Existe también la posibilidad de agrupar de acuerdo a valores numéricos. Volviendo a al ejemplo de las tiendas, supongamos que queremos agruparlas por el monto de ventas en intervalos de 150000, es decir, un grupo con tiendas con ventas de 0 a 149999, otro grupo de 150000 a 299999 y así sucesivamente. Antes de agrupar nuestra tabla dinámica se ve así
Como sólo podemos agrupar y desagrupar por campos de filas o de columnas, agregamos el campo Ventas (que ya aparece en el área de datos) al área de filas
Seleccionamos el campo Ventas del área de filas (en nuestro ejemplo la celda B2) y abrimos el menú Agrupar y mostrar detalle-Agrupar
Como Excel ha detectado que el campo contiene números (y éstos no son fechas) abre automáticamente el formulario Agrupar-Automático. Excel detecta automáticamente los valores mínimo (Comenzar en) y máximo (Terminar en) del rango, los cuales pueden ser cambiados de ser necesario. En nuestro caso ponemos 0 como mínimo y 500000 como máximo; en la ventanilla Por del formulario ponemos 150000. Apretamos Aceptar
Ahora tenemos que arrastrar el campo Ventas del área de filas y ponerlo a la izquierda del campo Tienda.
Al hacerlo obtenemos este resultado
Podemos obtener el mismo resultado creando un campo adicional en la base de datos, pero este método es más eficiente.
Agrupar y desagrupar datos manualmente en tablas dinámicas (segunda nota) Ayer vimos como agrupar datos en tablas dinámicas de Excel basándonos en campos de texto. Ahora veremos como agregar o quitar líneas a los campos agrupados. Excel no tiene un menú para editar campos agrupados. Podemos agrupar (como mostramos ayer) o desagrupar usando la opción Desagrupar del asistente de tablas dinámicas. Hay situaciones en las cuales queremos agregar o quitar un miembro a un grupo ya existente. En esta nota mostraré las técnicas para hacerlo. Volvamos sobre nuestro ejemplo de ayer donde hemos creado el grupo Norte
Si queremos agregar la Tienda 12 a este grupo empezamos por seleccionar todos los miembros del grupo y también Tienda 12 (apretando Ctrl mientras hacemos clic con el mouse)
Abrimos el menú Agrupar y mostrar detalle del asistente de tablas dinámicas y apretamos agrupar
Tienda 12 aparece ahora incluida en el grupo Norte
Nótese que el nombre del grupo ha cambiado al nombre por defecto, Grupo1.
Para quitar alguno de los miembros empezamos por seleccionar todos los miembros del grupo, menos aquel que queremos quitar (en nuestro ejemplo Tienda 19)
Ahora volvemos a usar Agrupar y mostrar detalle-Agrupar, lo que hará que Tienda 10 quede fuera del grupo
Podemos combinar ambas técnicas en una sola. Por ejemplo, si queremos quitar del grupo las tiendas 13 y 16 y agregar la tienda 2, seleccionamos todas las tiendas del grupo excepto 13 y 16 y seleccionamos también la tienda 2. Luego usamos Agrupar y mostrar detalleAgrupar, obteniendo el resultado deseado en una sola operación.
Más sobre agrupar datos en tablas dinámicas de Excel En la nota Tablas Dinámicas en Excel – Agrupar datos vimos como agrupar datos en una tabla dinámica de Excel basándonos en un campo de fechas. Pero esta funcionalidad no se limita sólo a fechas. Podemos agrupar datos basándonos también en campos de texto. Supongamos, una vez más, esta tabla que muestra las ventas de cada tienda de una cadena
Empezamos creando la tabla dinámica
Nuestro objetivo es agrupar las tiendas por zonas: Norte, Sur, Este y Oeste. El problema es que la tabla de datos no incluye un campo que nos permita agrupar las tiendas por zonas. Una solución posible es agregar el campo, pero esto no es necesario.
Empezamos por seleccionar todas las tiendas que pertenecen a la zona Norte. No es necesario que el rango sea continuo de manera que después de seleccionar la primer tienda apretamos Ctrl al seleccionar las restantes
En nuestro caso hemos seleccionado las tiendas 1, 13, 16, 19 y 3 que corresponden a la zona Norte. En el asistente de Tablas Dinámicas abrimos el menú Agrupar y mostrar detalle--Agrupar.
Excel crea un nuevo campo de filas (Tienda2) y agrupa las tiendas que hemos seleccionado en Groupo1.
Cambiamos el nombre del grupo a Norte
Repetimos el proceso para el resto de las zonas
Ahora podemos cambiar el nombre del campo de Tienda2 a Zonas y arrastrar el campo Tienda fuera de la tabla
Un detalle a tomar en cuenta es que Excel crea el nuevo campo sin subtotales
Es recomendable cambiar la definición a Automático, de manera que cuando abrimos el detalle o agregamos el campo Tienda, podamos ver el total por zona
Actualización simultánea de tablas dinámicas en Excel. Después de realizar cambios en la base de datos de una tabla dinámica tenemos que apretar el botón de actualización para que los cambios se reflejen en la tabla
Si tenemos más de una tabla dinámica en el cuaderno, tenemos que actualizar cada una por separado. Además de la molestia de tener que hacer varios clics existe también el riesgo de olvidar de actualizar alguna de las tablas. Aparentemente Excel no tiene ningún método para actualizar todas las tablas simultáneamente, pero podemos usar el botón Actualizar Todo, que por defecto aparece en la barra de herramientas de Datos Externos, para esta tarea. Para agregar el botón a la barra de herramientas Tabla Dinámica hacemos lo siguiente:
1 - pulsamos la flecha de Opciones de la barra de Tablas Dinámicas para abrir la posibilidad Agregar o quitar botones
2 - Elegimos Tabla Dinámica y señalamos el botón Actualizar todo
Al apretar el botón se actualizarán todas las tablas dinámicas del cuaderno. Hay que tomar
en cuenta que si hay rangos externos en el cuaderno, éstos se actualizarán.
Totales en el tope de una tabla dinámica de Excel Cuando creamos una tabla dinámica y no cancelamos los totales por columna (con el menú Opciones de tabla), Excel pone los totales al pie de los campos de datos de la tabla
Hay situaciones en las cuales, a diferencia del ejemplo en esta nota, tenemos muchas líneas en nuestra tabla. Por ejemplo, supongamos que en lugar de 5 departamentos de una tienda, tenemos 100 o 200 sucursales de una red. En esos casos es conveniente mostrar el total de la tabla en la parte superior, en lugar de forzar al destinatario del informe a moverse hasta el final de la tabla. Excel no tiene un método integrado para hacer esto, pero podemos lograrlo con un pequeño truco. Como en la nota sobre el cálculo de porcentaje para subtotales, lo que haremos es agregar una columna (campo) auxiliar. Siguiendo con nuestro ejemplo, insertamos una columna entre Mes y Ventas (Total)
Al insertar el nuevo campo entre dos existentes no tenemos que actualizar el rango de la tabla dinámica ya
existente. Apretamos el icono de Actualización de datos para que el nuevo campo aparezca en la lista de campos. Lo arrastramos al área de campos de fina asegurándonos que sea el primer campo del área (a la izquierda)
El próximo paso es abrir el menú de configuración del campo, apretamos el botón Diseño y marcamos las opciones Mostrar elementos en formulario esquemático y Mostrar subtotales en la parte superior del grupo
Apretamos Aceptar dos veces y obtenemos esta tabla
Todo lo que nos queda por hacer es deshacernos de la línea de Total General al pie de la tabla. Para esto abrimos el menú de Opciones de la tabla y quitamos la marca de la opción Totales generales de columnas
con lo cual logramos el resultado esperado
Calcular Porcentaje de Subtotales en tablas dinámicas de Excel Un lector me pregunta como podemos calcular porcentajes de subtotales en una tabla dinámica de Excel. Excel permite mostrar porcentajes del total de una tabla con facilidad, pero no tiene ningún método incorporado para calcular los porcentajes de subtotales. Veamos a qué me refiero. Supongamos esta lista de datos
Con facilidad podemos crear una tabla dinámica que totalice las ventas por región y agente
Luego podemos usar el menú de opciones de campo para mostrar los resultados como porcentaje del total
Todo esto con algunos clics del Mouse! Pero qué pasa si queremos calcular el porcentaje de cada agente sobre el total de cada región? Para hacer esto tendremos que dar un rodeo. Empezamos por crear un campo auxiliar en nuestra lista de datos, que llamamos "% de Región"
Los valores de este campo los calculamos con la fórmula: =C2/SUMAR.SI($B$2:$B$13,B2,$C$2:$C$13) que calcula el porcentaje de cada valor sobre el total de los valores de la región. Este nuevo campo lo arrastramos al área de datos
Para evitar que Excel totalice los subtotales y muestre un total del 400%, cancelamos la opción Total
La vida (en Excel) es más sencilla con Tablas Dinámicas Queremos manejar una serie de datos, para lo cual los vamos registrando en una hoja. Luego en otra hoja del cuaderno montamos un resumen de los datos, lo que por lo general nos llevará a armar fórmulas bastante complicadas. Pero la vida en Excel puede ser mucho más sencilla si sabemos explotar las posibilidades de tablas dinámicas.
Veamos el caso, tu quieres manejar un registro de tasas de cambios del dólar y del euro frente al peso chileno. En una planilla se van registrando las tasas de cambio por día. El problema de tubo mi amigo Chileno, tal como lo describe en su consulta es:
Hola Sergio te comento mi problema…en otra planilla … tengo un cuadro [con] los promedios de cada mes, entonces cuando están llenos los campos del mes de agosto por ejemplo se llena la casilla con el valor promedio de agosto, y asi una serie de indicadores… Mi idea es que exista una casilla en la cual se pueda elegir año, mes y dia...y busque los valores segun los datos proporcionados, o sea que si elijo en año 2006, me muestre en pantalla el promedio de enero de 2006 en su respectiva casilla, el promedio de febrero de 2006 en su respectiva casilla etc. y si lo cambio a 2007 haga lo mismo y asi con con "n" años mas
Esta tarea es sencilla si usamos tablas dinámicas y en esta nota mostraremos cómo hacerlo. En una hoja de Excel ponemos los datos de tipo de cambio del peso chileno frente al euro y al dólar por Ejemplo en los años 2006 y 2007. El nombre de la hoja será "BD" (base de datos)
Hemos puesto los datos del dólar (USD) y del euro (EUR) en dos columnas contiguas para evitar tener que duplicar las líneas con las fechas. Esto nos obligará a hacer una pequeña manipulación en nuestra tabla dinámica.
Una vez que hemos completado nuestra base de datos, armamos la tabla dinámica con el menú Datos—Informe de tablas y gráficos dinámicos
Arrastramos el campo Fechas al área de campos de filas y los campos USD y EUR al área de datos
Ahora empezamos a hacer nuestras manipulaciones en la tabla. Primero hacemos clic sobre "Datos" y lo arrastramos sobre "Total"
Como ven, ha desaparecido la columna Total, que no necesitamos. También eliminamos el total de las columnas abriendo el menú Opciones de Tabla y quitando la marca de las opciones Totales Generales de filas y columnas.
Ahora agrupamos las filas por mes y por año con el menú Agrupar de las tablas dinámicas
y eligiendo las opciones "meses" y "años"
En este momento nuestra tabla nos muestra la suma de las tasas de cambio de cada mes para moneda. Para cambiar la función a "promedio", abrimos el menú Configuración de campo y elegimos la función promedio
Hacemos lo mismo para el campo de USD. Ahora cambiamos el formato de los números y ya tenemos nuestra tabla con los promedios por año y por mes. Cinco minutos de trabajo y éste es el resultado
Si queremos agregar promedios anuales, abrimos el menú de configuración de campo para "Fecha"
y marcamos "Subtotales"
Todo lo que nos queda por hacer es definir el rango de la tabla en forma dinámica, como esta explicado en la nota del enlace. De esta manera podemos seguir agregando datos a nuestra base de datos, sin necesidad de redefinir el rango de la tabla dinámica.
Tablas dinámicas en lugar de Autofiltro. Alguien me pregunta si se puede aplicar autofiltro simultáneamente a varias hojas. En sus propias palabras: ¿se puede aplicar autofiltro a varias hojas de una sola vez? Tengo 25 hojas y quiero filtrar en todas desde una fecha determinada. ej: desde ej 01/06/2007.
La respuesta es no, no se puede. Pero podemos usar tablas dinámicas para lograr efectos parecidos a los de Autofiltro. Para esto usaremos tablas dinámicas con la opción "rangos de consolidación múltiples". Supongamos un cuaderno Excel con listas de datos compuestas de fechas e importes, en tres hojas. Nuestro objetivo en consolidar los datos en una tabla y mostrar los datos de determinadas fechas. Construimos la tabla dinámica con rangos de consolidación múltiples
Agregamos las listas de las distintas hojas
Y ponemos la tablas en una hoja aparte (Reporte)
Obtenemos
Ahora empezamos a mejorar el resultado. Eliminamos el elemento Columna arrastrándolo fuera de la tabla y movemos el elemento Página1 a la zona de campos de columna
Reemplazamos los rótulos de la tabla por otros más significativos
Para filtrar los datos según fechas abrimos el menú de ítems del campo
Y seleccionamos los elementos deseados
Este método es muy efectivo si queremos seleccionar sólo una fecha o un rango reducido. Si tenemos muchos elementos (fechas) en nuestras listas el método puede ser muy trabajoso.
Presupuesto de viaje con Excel Como se puede construir con Excel un modelo sencillo pero efectivo para programar el presupuesto de un viaje (o de cualquier otra actividad). Los "ingredientes" de nuestro "plato" serán: tablas dinámicas, validación de datos y rangos dinámicos definidos con nombres y la función DESREF. También usaremos un evento para validar fechas.
La tabla dinámica funciona como un generador de reportes que nos permitirá agrupar los gastos según los distintos conceptos que hayamos definido (tipo de gastos como vuelos,
alojamiento, excursiones, etc.; o gastos por tramos).
Usaremos Validación de Datos para generar listas desplegables en los distintos campos de la lista que será la base de la tabla dinámica.
Empezamos por crear la lista, las base de datos que servirá a la tabla dinámica (en la hoja BD en nuestro ejemplo). Aquí definimos que campos queremos que contenga la tabla. En nuestro ejemplo definimos (empezando por la columna A): Tipo de Gasto, Fecha, Tramo, Detalle, Moneda, Suma, Peso, Dólar, Euro.
Agregamos las últimas cuatro columnas bajo la suposición que tendremos gastos en distintas moneda. En la columna Moneda pondremos la denominación de la moneda en la cual realizamos el gasto (peso, dólar o euro); en las últimas tres convertimos cada suma a su equivalente con fórmulas que mostraremos luego.
En esta hoja hemos agregado también un evento que abre un calendario cuando queremos introducir una fecha en alguna celda de la columna B. Esta técnica la hemos mostrado en la nota sobre validación de fechas en Excel.
Ahora creamos una hoja que llamamos "Parámetros" donde tenemos los valores de tipo de gastos que servirá a la lista desplegable de la validación de datos. Además tenemos un cuadro de cambio cruzado de monedas para las conversiones.
En esta hoja definimos los nombres:
cambio =parametros!$C$2:$F$5 db_range =DESREF(BD!$A$1;0;0;CONTARA(BD!$A:$A);CONTARA(BD!$1:$1))
monedaH=parametros!$C$2:$F$2 monedaV=parametros!$C$2:$C$5 Tipo_de_Gasto=DESREF(parametros!$A$3;0;0;CONTARA(parametros!$A:$A)-1;1)
Antes de crear la hoja con el reporte, introducimos algunos datos en la hoja BD:
Ahora ya podemos crear nuestro reporte, usando una tabla dinámica que ponemos en la hoja Reporte. Por ejemplo si queremos ver el presupuesto por tipo de gasto:
o por tramo
de acuerdo a los campos que arrastremos a la zona de campos de fila.
Tablas Dinámicas en Excel – Gráficos Excel nos permite crear un gráfico basado en una tabla dinámica con un solo clic. En nuestro ejemplo
Apretamos el icono de gráficos en la barra de herramientas de tablas dinámicas y obtenemos un gráfico en una nueva hoja
Si queremos presentar el gráfico en la misma hoja de la tabla dinámica, cambiamos su ubicación (clic en el botón derecho del mouse) a la hoja de la tabla
El gráfico esta ligado a la tabla dinámica de manera que todo cambio en la tabla afecta inmediatamente al gráfico, y viceversa. Como se puede ver, en el gráfico aparecen los mismos botones de campos que aparecen en la tabla. Por ejemplo, si cambiamos la selección de departamentos en el gráfico para mostrar sólo los departamentos 1 y 2
al apretar Aceptar veremos los cambios también en la tabla dinámica
Los gráficos basados en tablas dinámicas son menos flexibles que los gráficos basados en tablas de datos corrientes de Excel. Si cambiamos formatos en el gráfico original (por ejemplo el color de una serie), al actualizar la tabla volverán a aparecer los formatos originales. Otra limitación es que ciertos tipos de gráficos no son permitidos. Si intentan convertir el gráfico a uno del tipo XY recibirán esta advertencia
Tampoco podemos crear un gráfico usando sólo parte de las celdas en la tabla dinámica. Aún cuando seleccionemos sólo un rango de la tabla, Excel generará un gráfico basado en todos los datos presentes en la tabla dinámica.
Para sobreponernos a estas limitaciones lo que tenemos que hacer, básicamente, es quebrar el vínculo entre el gráfico y la tabla dinámica. Esto lo podemos hacer de varias maneras: 1 – Seleccionar la tabla y usar Copiar—Pegado Especial—Valores para copiar los datos en formar estática en alguna otra ubicación. Luego a partir de estos datos generar el gráfico deseado. Si copiamos sólo una parte de la tabla, no hace falta usar Pegado Especial— Valores. También con Pegar (Ctrl+V) obtenemos datos estáticos.
2- Seleccionar toda la tabla, copiar (Ctrl+C) y luego Pegado Especial—Valores.
3 – Copiar el dato seleccionado de una tabla dinámica a un gráfico sin datos creado previamente.
Tablas Dinámicas - Función IMPORTARDATOSDINAMICOS (GetPivotData) Si queremos crear una referencia a una de las celdas de la tabla dinámica fuera de ella, Excel utiliza automáticamente la función IMPORTARDATOSDINAMICOS (GETPIVOTDATA en la versión inglesa). Por ejemplo, si queremos crear una referencia al total de ventas del 2005 en la celda A12
El objetivo de IMPORTARDATOSDINAMICOS (GetPivotData) es extraer datos de la tabla dinámica, basados en los argumentos de la función, cuya sintaxis es IMPORTARDATOSDINAMICOS(campo_datos,tabla_dinámica,campo1,elemento1,campo2,elemento2,…) Por lo general queremos crear la referencia a la celda sin el uso de esta función. Existen dos maneras de hacer esto: 1 - Crear la referencia manualmente, es decir seleccionar A12 y escribir "=B10" en la barra de las fórmulas 2 – Cancelar la opción "generar getpivotdata". Esta opción es poco conocida. Existe un icono en que nos permite activar o desactivar la opción. Para instalar el icono hacemos lo siguiente: a. Abrimos el menú Herramientas—Personalizar b. En la pestaña Comandos elegimos Datos. Al final de la lista aparece el icono Generar Getpivodata
c. Arrastramos el icono a alguna de las barras de herramientas (lo más lógico es instalarlo en la barra de Tablas Dinámicas)
Este icono funciona como un interruptor. Con un clic desactivamos la opción y al crear una referencia veremos sólo la dirección de la celda
Un detalle a notar es que referencias directas heredan el formato de la celda de referencia; referencias con Getpivotdata reciben el formato "General". Tablas Dinámicas en Excel – Manejo de campos y rangos En las datos anteriores vimos distintas funcionalidades de las tablas dinámicas en Excel:
- agrupar datos - agregar campos y elementos con fórmulas - cambiar la presentación de los datos sin fórmulas
Cuando agregamos líneas o columnas a la base de datos, debemos modificar la información para que los nuevos datos sean incluidos en la tabla dinámica. Para esto activamos el asistente de tablas dinámicas
Apretamos el botón "Atrás"
Seleccionamos el nuevo rango y apretamos "Finalizar"
Como podemos ver, la lista de campos y los datos se han actualizado.
Podemos ahorrarnos estas maniobras si definimos un rango dinámico para la lista de datos
desde el principio.
Para presentar una comparación, mes por mes, de los dos años, arrastramos el campo "Año" al área de campos de columna
El total de las filas es innecesario y por lo tanto lo eliminamos quitando la marca de la casilla "Totales de fila" en el diálogo de opciones de tabla
Rehacemos ahora la tabla colocando el campo Año en el área de página, Departamento en el área de filas y Mes en el área de columnas
En esta situación, si agregamos Unidades al área de datos, Excel ubica los nuevos datos en una línea por debajo del campo Ventas
Si queremos que los datos de Ventas y Unidades aparezcan unos al lado de los otros, arrastramos Datos a la zona de columnas, a la izquierda de Mes
Alternativamente podemos arrastrar Mes por debajo de Datos y obtener esta tabla
Tablas Dinámicas en Excel – Cálculos sin fórmulas
En los datos sobre campos y elementos calculados investigamos la opción Fórmulas del asistente de Tablas Dinámicas. En esta entrada veremos otras posibilidades de presentación de datos en las tablas dinámicas de Excel. Volvamos al ejemplo de las notas anteriores, que hemos adaptado al tema que vamos a tratar
Si queremos presentar las ventas de cada departamento como porcentaje del total hacemos lo siguiente: 1 - Seleccionamos alguna de las celdas de datos de la tabla, abrimos el menú de tablas dinámicas y activamos la opción "configuración de campo"
2 - Pulsamos el botón Opciones, en la ventanilla "Mostrar datos como" elegimos "% de columna" y apretamos aceptar
Excel calcula el porcentaje de cada departamento en forma automática. Si queremos exhibir el campo de las ventas junto con el porcentaje de cada departamento, hacemos lo siguiente: 1 – Agregamos nuevamente el campo de ventas al área de datos
2 - Seleccionamos alguna de las celdas del nuevo campo y volvemos a aplicar el método anterior
Por supuesto, existe también la opción "% de fila". Para dar un ejemplo modificamos la tabla dinámica poniendo el campo Departamento en el campo de columnas
Volvemos sobre el método anterior pero elegimos "% de la fila"
Y obtenemos esta tabla
Finalmente podemos exhibir todos los datos como porcentaje del total, eligiendo la opción "% del Total"
Otras posibilidades son: Diferencia de
Al elegir esta opción se abre una ventanilla donde debemos elegir el campo y el elemento para realizar la comparación. En nuestro caso queremos comparar ventas de cada mes en relación a enero
El resultado no es de lo más presentable, pero esta opción puede ser muy práctica cuando trabajamos con tablas de gran tamaño. Otra opción práctica es "Total en" (que en inglés se llama tiene el nombre más apropiado Running Total). Aquí aplicamos la técnica de poner dos veces el mismo campo en el área de datos
Y así obtenemos una tabla con las ventas y con el saldo acumulado por mes
Tablas Dinámicas en Excel – Eliminar elementos caducos Si examinan mi entrada de ayer sobre campos y elementos calculados en tablas dinámicas, notarán que ciertos elementos siguen apareciendo en las listas desplegables a pesar de que los hemos borrado de la base de datos. Estos elementos persisten aún después de haber actualizado la tabla.
En el ejemplo de la nota anterior
los meses de mayo y junio siguen apareciendo a pesar de haber sido borrados de la lista de datos.
Para que los elementos que han sido borrados de la lista de datos (los elementos "caducos") desaparezcan hacemos lo siguiente:
1 - Eliminamos los elementos calculados que hubiéramos definido (en nuestro caso Bimestre 1, Bimestre 2 y Total). Para eso abrimos el menú Formulas del asistente de tablas dinámicas, elegimos el elemento calculado que queremos borrar y pulsamos el botón Eliminar.
2 - Quitamos el campo que contiene los elementos arrastrándolo fuera del rango de la tabla dinámica
3 - Actualizamos la tabla dinámica con el botón de actualizar
4 - Agregamos de nuevo el campo a la tabla. Sólo los elementos existentes en la base de datos aparecen ahora en la lista desplegable de elementos del campo.
Tablas Dinámicas en Excel – Campos y Elementos calculados. Las tablas dinámicas son un tipo de objeto que "reside" en la hoja de cálculos pero el rango ocupado por la tabla tiene un comportamiento distinto a los rangos normales de Excel. El rango ocupado por la tabla dinámica no puede ser modificado directamente en la hoja. Por ejemplo, no podemos agregar líneas o columnas, o fórmulas en las distintas celdas. Cuando queremos hacer este tipo de modificaciones en una tabla dinámica tenemos dos posibilidades: 1 - seleccionar la tabla y copiarla a otra ubicación (ya sea en la misma hoja, en otra o en otro cuaderno) usando Edición – Pegado Especial – Valores. Este método tiene la ventaja de dar mucha flexibilidad en el manejo de los datos (formatos, fórmulas, etc); pero tiene la gran desventaja de romper el vínculo dinámico entre la tabla y los datos originales. 2 – Crear campos y/o elementos calculados. De esto nos ocuparemos en esta nota. Basándonos en nuestra tabla de datos hemos creado esta tabla dinámica
En el área de Página hemos puesto los meses, de manera que podemos ver los datos de cada mes con un clic. Ahora digamos que queremos calcular el precio promedio de las unidades vendidas (ventas / unidades = precio promedio) y también agrupar los meses por bimestres (enero + febrero = bimestre 1). El precio promedio consiste en crear un nuevo campo, dividiendo los elementos de un campo por los de otro. Esto es un campo calculado. Los pasos a dar son los siguientes: 1 – cliqueamos en algún lugar de la tabla y en el asistente de Tablas Dinámicas activamos Fórmulas – Campos Calculados
2 - En la ventanilla "nombre" anotamos "Precio Promedio" y en la ventanilla "Fórmula" =Ventas/Unidades (con la ventanilla activada, hacemos doble clic a Ventas, luego anotamos el símbolo "/" y luego doble clic a Unidades)
3 - Después de pulsar "Aceptar" y realizar algunos ajustes al formato, obtenemos esta tabla dinámica
Como ven, hemos agregado un nuevo campo a la tabla: "Precio Promedio".
Para demostrar el uso de elementos calculados, reorganizamos nuestra tabla dinámica poniendo los meses como campos de fila y los departamentos en el área de Página
Para crear el elemento calculado "Bimestre 1" procedemos de la siguiente manera: 1 - Seleccionamos la celda A4 (donde aparece "Mes", el nombre del campo con cuyos elementos crearemos un elemento calculado), en el asistente de Tablas Dinámicas activamos el menú Fórmulas – Elementos Calculados 2 - En el diálogo que se abre seleccionamos "Mes" en la ventanilla "Campos"; en la ventanilla "elementos" vemos los meses (los elementos del campo). En la ventanilla nombre escribimos Bimestre 1; luego seleccionamos la ventanilla Fórmula y anotamos =enero+febrero (lo que se hace con un doble clic sobre el nombre del elemento). Luego apretamos Enter y volvemos a seleccionar el campo Mes
3 - Repetimos la operación para el Bimestre 2 (marzo+abril) y pulsamos "Aceptar". Excel tiene dos problemas relacionados con los elementos calculados: 1 - Son agregados automáticamente al final de la lista de elementos del campo 2 – El total general incluye los elementos calculados, por lo tanto da como resultado el doble de lo que debería ser.
El primer problema lo resolvemos moviendo los elementos a la posición deseada. Una de las formas de hacer esto es copiar Bimestre 1 y pegarlo inmediatamente debajo de "febrero" (o escribir manualmente Bimestre 1). Excel reorganiza la tabla automáticamente
El problema del total general lo podemos tratar de dos maneras. Una es eliminar el total general para las columnas en Opciones de Tablas.
La otra es crear un nuevo elemento, Total, que suma Bimestre 1 y Bimestre 2
Obteniendo
En resumen: Un campo calculado es un nuevo campo creado realizando operaciones con campos existentes. Un elemento calculado es un nuevo elemento en un campo, creado con los elementos existentes del campo. Para eliminar los campos o elementos calculados tenemos que usar el asistente de Tablas Dinámicas. Por ejemplo, para eliminar el campo Precio Promedio abrimos el diálogo de Fórmulas en Campos Calculados
En la ventanilla Nombre elegimos el campo que queremos eliminar y luego pulsamos el botón Eliminar.
Tablas Dinámicas en Excel – Agrupar datos El manejo de pequeñas bases de datos en Excel usando tablas dinámicas (pivot tables). En estas notas cubría aspectos funcionales de las tablas dinámicas como actualización de datos y referencias dinámicas En esta nota veremos otras funcionalidades de las tablas dinámicas que ayudan a hacer el trabajo con ellas más eficiente.
Nuestra tabla tiene 725 líneas (181 días * 4 departamentos + 1 línea para los encabezamientos).
Con facilidad creamos un informe que nos muestra el total de ventas del medio año por departamento
El campo Fechas lo hemos puesto en el área de páginas de manera que podemos elegir una fecha determinado y ver las ventas por departamento
El menú de Tablas Dinámicas ofrece la posibilidad de agrupar datos ligados a campos que Excel puede reconocer como fechas. Para usar esta funcionalidad el campo de fechas debe encontrarse en el área de las filas o de las columnas. Por lo tanto movemos el campo Fechas al área de columnas
Ahora seleccionamos el rótulo Fecha, abrimos el menú de tablas dinámicas y elegimos la opción "agrupar y mostrar detalle"
Al elegir esta opción se abre un diálogo donde podemos definir la forma de agrupar los datos. Las opciones van desde segundos a años. También podemos definir las fechas de comienzo y fin.
Por ejemplo, si elegimos "trimestres" obtenemos
También podemos elegir más de una opción simultáneamente, por ejemplo trimestre y mes
Con este resultado
Como habrán notado, no existe la opción de agrupar por semanas. Pero Excel nos permite hacer esto, si seleccionamos "días" y en la ventanilla "número de días" ponemos "7"
El resultado es
Nuestro ejemplo tiene una limitación potencial, ya que el número de columnas de una hoja de Excel es 256 y el número de días del año es 365 (o 366 si es bisiesto). Es decir que si tuviéramos las ventas de todo el año, día por día, no podríamos poner el campo Fecha en el área de columnas, para luego agruparlo. Lo que podemos hacer en este caso, es poner el campo Fecha en el área de filas,
agrupar, por ejemplo por mes
y luego arrastrar los campos agrupados al área de columnas
Consolidación de datos con Tablas Dinámicas (Pivot Tables). En anteriores entradas ya he tratado el tema de consolidación de datos en Excel: 1 – Consolidar Datos con Excel 2 – Consolidar datos con Subtotales 3 - Comparar listas con consolidación de datos Otro método de consolidar datos en Excel es usando tablas dinámicas (pivot tables). Consideremos el siguiente. Tenemos un cuaderno Excel con una hoja por cada agente de ventas. En cada una de estas hojas anotamos las ventas por mes y por producto de cada agente.
Para consolidar las ventas de todos los agentes (en nuestro caso habrá sólo dos) en una sola hoja de cálculo usando tablas dinámicas, procedemos de la siguiente manera: 1 – Abrimos una hoja en blanco (en nuestro ejemplo será "consolidado") y activamos el menú Datos-->Informe de Gráficos y Tablas Dinámicos. En el diálogo que se abre elegimos la opción "rangos de consolidación múltiples"
2 – En el siguiente paso debemos instruir a Excel cuantos campos de página queremos. Para nuestro ejemplo elegimos "crear un solo campo de página"
3 – En el tercer paso debemos informar a Excel dónde se encuentran los rangos que contienen los datos. Hacemos esto apunto a los rangos en las hojas adecuadas (agente1 y agente2) y apretando el botón "agregar"
4 – Finalmente debemos decirle a Excel dónde ubicar la tabla dinámica (que consolida los datos)- En nuestro ejemplo la ubicamos en la celda A6
Apretamos "finalizar" y obtenemos la tabla dinámica.
Esta tabla muestra los totales para cada producto y por cada mes de todos los agentes de ventas. Si queremos ver los datos de un agente en particular apretamos el botón "Página 1" y elegimos entre "elemento 1" (agente 1) y "elemento 2" (agente 2).
Dado que los encabezamientos de las columnas tienen un formato de fecha, podemos agrupar los datos en trimestres en forma automática. Para hacer esto damos los siguientes pasos: 1 – Hacemos clic con el botón derecho del mouse en el encabezamiento del campo "columna", y apretamos "agrupar"
2 – Seleccionamos "trimestres" y cancelamos la selección de "meses" (con un clic del mouse).
3 – Apretamos "aceptar" y la tabla se convierte en un reporte trimestral