Tablas dinámicas en Excel

Excel

Cambio radical de tema, y hoy me adentro en las tablas dinámicas de Excel, un aspecto muy a destacar de Excel aunque a priori no es fácil de implementar, hasta que lo aprendes. Creo que es una de las primeras entradas del blog ManejandoDatos dedicada íntegramente a Excel. Mi recomendación es que te apuntes al curso sobre este tema que puedes encontrar en la web de webucator.

Qué es una tabla dinámica?

Una tabla dinámica es una tabla interactiva que se puede utilizar para analizar, organizar y resumir información de una gran cantidad de datos. Son tablas que permiten hacer una fácil reordenación de la información para tener una rápida visión, y mostrarse de distintas formas. Las tablas dinámicas tienen cuatro diferentes tipos de campos:

  • Page field (Report Filter). O campo de página. Es el que se usa para filtrar por algún campo específico.
  • Column field (Column Labels). Los campos de columnas son los que muestran cómo columnas en la agregación de datos.
  • Row field (Row Labels). Selecciona las columnas de la tabla fuente que se mostrarán cómo filas.
  • Data field (Values). Los campo de datos son aquellos de la tabla fuente sobre los que se quiere realizar una agregación o análisis.

Creación de una tabla dinámica en Excel

Antesde insertar una nueva tabla dinámica, debes asegurarte de que los datos que vas a incluir están organizados cómo tabla. Esto es un detalle super importante, porque debes tener en cuenta tres aspectos fundamentales, que son:

  1. Fila de cabecera. Tu tabla de datos debe siempre incluir una cabecera en la pimera fila que servirá para determinar los nombres de los campos.
  2. Sin filas ni columnas vacías. Si tus datos incluyen alguna fila o columna vacía, Excel no los incluirá en el tratamiento de datos cómo una única tabla.
  3. No subtotales. Elimina cualquier subtotal antes de la creación de la tabla dinámica.

La manera de insertar una tabla dinámica en Excep es: para empezar, necesitas seleccionar cualquier celda donde se vaya a proceder a insertar lo que se va a analizar. A continuación, en la solapa Insert en la zona de Tablas, pulsar en Tables dinámica tal y cómo se indica en la siguiente imagen.

Pivot tables

Lo siguiente es que es que se abre un cuadro de diálogo para que introduzcas dónde están los datos a analizar (la tabla)!

Preparando la tabla dinámica

Cómo puedes ver, estoy usando la tabla explicada en ManejandoMondo, que es un Excel gratuito para disponer de estadísticas mensuales a partir de tus actividades deportivas.

Tabla dinámica de ManejandoMondo

Para continuar, necesitas arrastrar los campos donde sea necesario. En la siguiente imagen quiero disponer de dos filtros, uno por año y otro por actividad. Quiero incluir un reporte mensual y los valores a incluir son: calorías, número de actividades y distancia:

Pivot Tables

Puedes utilizar otras funciónes de agregación, no solo sumas, o conteo. También puedes calcular media, mínimo, máximo, e incluso cambiar el formato de los números..

Más características de lo que se puede hacer con las Tablas Dinámicas de Excel

Adicionalmente, puedes insertar Segmentación de datos de la tabla dinámica, por una o más filas. Pero además, puedes añadir un gráfico en el que se visualiza la información resumida.

Cómo puedes adivinar, estas características son muy potentes y no son complicadas de manejar ni de uilizar.

Además, en la siguiente imagen he incluido donde Segmentos de datos:

Slices
Slices

Así que, ahora puedo gestionar mis datos tal que así, por año y por tipo de actividad:

slices Pivot tables
slices

ManejandoDatos y Excel

Excel es una herramienta de las que uso muy frecuentemente, pero casi nunca la utilizo para análisis de datos (y quizás, debería hacerlo). Porque, te guste o no, Excel es una de las herramientas más comunes de todas las empresas, porque es sencillo de gestionar, sobre todo si el volúmen de datos a gestionar no es muy elevado.

En mi trabajo, normalmente utilizo Excel para mover datos a bases de datos, y para ello, suelo emplear tanto macros VBA cómo scripts realizados en Python.