domingo, 4 de marzo de 2012

Tablas dinámicas (II): ¿Cómo crear una Tabla Dinámica?



Una vez puestas en contexto las Tablas Dinámicas en nuestro anterior post, debemos entrar en materia de forma más decidida.

Desde luego, NO todos los puntos anteriores son imprescindibles, pero lo reflejado en la imagen anterior se refiere a la Tabla Dinámica ideal.

PASO 1 ¿Cómo crear una Tabla Dinámica?

En realidad, crear una Tabla Dinámica es un proceso sencillo (sin embargo, para conseguir que tenga un aspecto adecuado y que muestre los datos exactamente en la disposición que necesitamos, hay que dar varios pasos). Comezaremos por explicar cómo crearla desde una sóla tabla que tenemos previamente.

Una Tabla Dinámica se crea a partir una tabla normal de datos. Es indistinto que nuestra tabla-origen sea una tabla normal de datos creada de forma espontánea, o que sea una tabla a la que se ha aplicado "oficialmente" (por decirlo de alguna forma) un formato de tabla mediante la opción "Dar formato como tabla" del grupo "Estilos" de la "Ficha Inicio".

Puede descargar el siguiente archivo, donde tendrá una tabla-origen para poder practicar con las siguientes explicaciones de este artículo:




Creación de la Tabla Dinámica:

1) No situamos en una zona libre de la hoja de cálculo donde podamos situar la Tabla Dinámica. En este ejemplo, vamos a situarla en la misma hoja, en la celda I6.

2) Seleccionamos la "Ficha Insertar" y después el botón "Tabla Dinámica" que hay dentro del grupo "Tablas":

3) Nos aparecerá un cuadro de diálogo como este:



...donde debemos desplegar el botón para seleccionar el rango donde esté situada nuestra tabla-origen. Debemos seleccionar TODA LA TABLA, INCLUYENDO LA PRIMERA FILA DE TÍTULOS (que debe existir, claro está):

Sí nuestros datos tenían "formato de tabla", esta tendría un nombre y será el que aparezca en el campo de selección:

Si, por el contrario, nuestros datos no tenían formato de tabla, en el campo de selección de rango aparecerá la referencia al rango:


.... y hacemos click en el botón "Aceptar" del cuadro de diálogo.

4) En la ubicación elegida de nuestra hoja de cálculo, obtendremos algo similar a esto:


....hasta aquí, lo que hemos hecho ha sido crear la zona provisional donde se situará nuestra tabla dinámica.

Mientras que haya seleccionada una celda cualquiera dentro de la zona de Tabla Dinámica, tendremos a nuestra derecha la lista de campos y los 4 paneles anteriores, a no ser que desactivemos el botón "Lista de campo":



Ahora debemos decidir:

  1. Qué campo o dato de nuestra tabla-origen deseamos que esté situado en filas. Bastará hacer click en la casilla que hay a la izquierda de cada uno de los campos de la lista que vemos en la imagen de la derecha y veremos cómo el campo se sitúa en el cuadro "Etiquetas de fila" que hay abajo (no debemos empezar haciendo click en campos que contengan valores numéricos, pues se situarían en otro cuadro)
  2. Qué campo o dato de nuestra tabla-origen deseamos que esté situado en columnas. Debemos hacer click en la casilla que hay a la izquierda de cada uno de los campos de la lista que vemos en la imagen anterior y veremos cómo el campo se sitúa de nuevo en el cuadro "Etiqueta de fila". Sólo nos queda arrastrarlo al cuadro de más arriba y a la derecha "Etiquetas de columna".
  3. Qué campo o dato de nuestra tabla-origen deseamos que sea el valor que se sumará, que se contará, se realizará el promedio, etc. Para ello, elegimos dicho campo (debe ser un campo con valores numéricos) marcando la casilla de la izquierda y nos debe aparecer el campo en el cuadro "Valores".

... y ahora debemos ver el cuadro de forma similar a la imagen de la derecha.


... y nuestra tabla dinámica "recién nacida":



...que podemos descargar tal cual está en la imagen anterior:


Algo importante que debe saber el lector es, que si cambian los datos de la tabla-origen, la Tabla Dinámica NO reflejará dichos cambios a menos que se actualice. A tal efecto, existen dos posibilidades:
  1. Actualizar manualmente: mediante el botón "Actualizar"que hay dentro del grupo "Datos" de la ficha "Opciones" de las "Herramientas de Tabla Dinámica" (sólo estarán disponibles las Herrameintas de Tabla Dinámica si tenemos seleccionada cualquier celda de nuestra TD) .
  2. Actualizar automáticamente al abrir el archivo: activando la casilla de verificación que hay en el cuadro de diálogo "Opciones" que obtenemos cuando hacemos click en el botón "Opciones" que hay dentro del grupo "Tabla Dinámica" de la ficha "Opciones" de las "Herramientas de Tabla Dinámica" (sólo estarán disponibles las Herrameintas de Tabla Dinámica si tenemos seleccionada cualquier celda de nuestra TD) .



Pues ya hemos hecho nuestra Tabla Dinámica. Lo que ocurre es, que como podemos apreciar en la anterior imagen, la TD está "en bruto" y con algunas características que no debemos dejar tal cual, puesto que no ayudan nada a interpretar la información de forma fácil e intuitiva. Entre otras, las características inadecuadas, son:

  • Tanto las columnas de los comerciales 01-PEDRO y 02-JOSÉ LUIS, como del "Total general" tienen anchos distintos.
  • El título de la tabla que Excel asigna por defecto, es poco "atractivo" (Suma de € VENTA). Podría ser algo similar a "Ventas por ruta y comercial"
  • Los valores de la TD tienen un formato de número (a veces sin decimales, a veces con un decimal y otras con dos decimales), pero no de moneda, que sería más adecuado.
  • Como se puede observar, Excel crea por defecto dos listas desplegables: "Etiquetas de fila" y "Etiquetas de columna". Estos desplegables sirven para filtrar la información, o bien por rutas, o bien por vendedores (por ejemplo, si hubiesen muchos vendedores, podríamos desear no tener demasiadas columnas). Pues bien, estas listas desplegables pueden eliminarse (se verá posteriormente en otro artículo) o bien cambiar el nombre que Excel aplica por defecto.
  • El diseño de la TD pudiera no ajustarse a nuestras necesidades o gustos. En tal caso, Excel dispone de opciones para configurar el formato y colores de forma bastante automatizada (aunque algo rígida).
Todas estas posibilidades serán objeto de estudio en próximos artículos.


Por último, comentar que las utilidades de las Tablas Dinámicas no se acaban aquí. Por ejemplo, también pueden mostrar la información de forma jerarquizada:


Esta forma de mostrar la información de forma jerarquizada o en esquema, será la segunda parte de este post ( Tablas Dinámicas (III) ¿Cómo crear una Tabla Dinámica (2ª parte )? dedicado a la creación de Tablas Dinámicas (el primero de los 3 pasos vistos al principio).


Ver Tablas Dinámicas (IV): OPCIONES de configuración


  José Manuel Pomares Medrano



11 comentarios:

  1. Hola quisiera ver si me das la explicacion de como hacer una tabla para insertar en mi blog. Necesito que tenga la opcion de 2 columnas y 6 filas y que las 5 primeras porten los datos, la 6ta. vacia para rellenar por el usuario y que automaticamente al rellenar se elimine la primer fila y todas se corran hacia arriba quedando libre nuevamente la 6ta. Es de locos no? pero se podra? La idea es hacer una cadena de socios y el que ingresa 6to. lo hace bajo el patrocinio del que esta en primer fila y al correrse el 6 sube una fila y asi sucesivamente hasta que llega al primer lugar donde el es el patrocinador de todo el que se agregue debajo, no se si se entiende. Si es asi, gracias por tu tiempo y conociminetos

    ResponderEliminar
    Respuestas
    1. Disculpa por el retraso en contestar y gracias por tu interés en el Blog.

      Hacer una tabla en Excel con la automatización que comentas se debe realizar con código VBA. Una de las opciones es utilizar un código escrito(insertado mediante el editor de Visual Basic en la Hoja adecuada)como este :
      --------------------------
      Private Sub Worksheet_Change(ByVal Target As Range)
      LíneaSexta = "B7"
      If Not Application.Intersect(Target, Range(LíneaSexta)) Is Nothing Then
      Rows("2:2").Select
      Selection.Delete Shift:=xlUp
      Range("A7").Select
      End If
      End Sub
      --------------------------
      El anterior código, hace que cuando cambie el valor de la segunda columna de la séptima fila (sexta si no cuentas los títulos de la tabla), se elimine la segunda fila (primera fila si no cuentas los títulos de la tabla) automáticamente.

      Toda esta explicación es válida en el caso de que quieras hacerte una aplicación Excel para este fin....

      ....PERO... en la consulta ¿hablas de que quieres insertar esta aplicación EXCEL en un Blog?

      Si es así, me temo que no es posible ejecutar Excel dentro de un Blog en esas condiciones. Podrías consultar a un especialista en diseño web, pero me temo que la respuesta va a ser negativa y que esas funcionalidades requeridas se deberán programar directamente en el proceso de diseño de la propia web, pero no en un Excel que posteriormente se pueda insertar.
      En cualquier caso, si quieres ponerte en contacto conmigo, te invito a que me escribas a josempomares@temporaconsultores.com y podemos intercambiar más impresiones al respecto.

      Un saludo.

      Eliminar
    2. quiero saber como convertir una tabla normal a una dinamica

      Eliminar
  2. hola muchas gracias por explicar como se hace una pivot table muchas gracias

    ResponderEliminar
  3. amigos necesito hacer una cartelera de películas donde se muestren solo 5 fotos de películas por cada fila pero que cada ves que yo le agregue una nueva foto de película a cualquier fila no queden 6 fotos en la misma fila si no que se corra la ultima foto a la siguiente fila a modo de que siempre me queden solo 5 fotos (columnas) por cada fila. por tablas lo puedo hacer? te agradecería que te pasaras por el bloc utilidadvirtual.blogspot.com en peliculas y me hablaras en el chat de chatago del bloc

    ResponderEliminar
  4. qiuiero saber como convertir una tabla normal en tabla dinamica por favor comenten rapido

    ResponderEliminar
    Respuestas
    1. Tienes la respuesta en este mismo artículo, en el PASO 1.

      Saludos

      Eliminar
  5. Hola,
    Gracias por el post esta muy completo.
    Solo una cosilla que no condigo sacar. ¿Cómo agrupas por trimestres el listado de fechas inicial? (tal como aparece en la última tabla d eeste post)
    Gracias

    ResponderEliminar
    Respuestas
    1. Ya lo he sacado. Gracias de todas formas :)

      Eliminar
  6. Muy buen estilo de instrucción. Mil gracias.

    No logro que la tabla dinámica tome los valores con decimales que en el origen(otra tabla del mismo libro) están con , (coma) decimal. También he intentado con . (punto)decimal.
    Los datos en origen tienen formato de Número; no muestran advertencias y al seleccionar rangos muestra sumas correctas, mas no en la TD.
    Agradezco de antemano su orientación.

    ResponderEliminar
  7. HOLA BUEN DÍA..

    TENGO UN PROBLEMA YA QUE NECESITO COPIAR Y PEGAR

    LOS ELEMENTOS DE SEGMENTACIÓN DE DATOS DE UNA TABLA DINÁMICA..(TODO LA TABLA Y LOS SEGMENTOS)

    E INCLUSO MODIFICAR LA FORMA EN QUE LA SEGMENTACIÓN SE PRESENTA..


    GRACIAS DE ANTEMANO

    ResponderEliminar