viernes, enero 02, 2009

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








Technorati Tags:

22 comentarios:

  1. Jorge,

    Justo estoy en un problema de agrupamiento, tengo diferentes controles con distintas fechas, siempre tengo q crear el campo semana (=NUM.DE.SEMANA(XX;2)), ya que en mi trabajo se analiza, trimestral, mensual y semanalmente toda la información.

    Existe alguna forma de agrupar por semanas sin necesidad de tener que crear esta nueva comuna?

    Más especifico utilizando tu ejemplo tdcurrencias.xls, ah se logro agrupar por año y mes, lo q necesito q después aparezca la semana. considerando que no tengo fechas de corrido,

    Saludos

    ResponderBorrar
  2. Si, fijate en esta nota donde explico como agrupar por semanas (días =7)

    ResponderBorrar
  3. Jorge: es posible editar un agrupamiento ya creado, (por ejemplo: NORTE)para agregar nuevos datos o quitar existentes? Cómo se hace?

    ResponderBorrar
  4. Si, se puede pero implica usar algunos trucos. Publicaré una nota sobre el tema, en continuación a esta.

    ResponderBorrar
  5. Jorge,

    No se si esta vez entendiste mi problema, trate de ser lo más claro que pude.

    Pero como te dije no es gran dificultad , pero si se puede mejorara a través de agrupamientos sera genial.

    Saludos,

    ResponderBorrar
  6. Hola Iván

    como te decía podés agrupar por año, trimestre y mes al mismo tiempo. Podés agrupar por semana seleccionando la opción agruár por días y fiajndo el valor del intervalo a 7. Pero no podés hacer las dos selecciones al mismo tiempo. Al elegir la opción días con cualquier otra de las opciones, Excel no te dejo fijar el número de días a agrupar. Tendrás que crear un campo auxiliar.

    ResponderBorrar
  7. OK, gracias por tu tiempo y respuesta...

    Saludos

    ResponderBorrar
  8. Estimado,
    tengo un problema agrupando campos en tablas dinámicas utilizando Excel 2007: he copiado una hoja conteniendo una TD pues necesito graficarlas por separado.
    El hecho es que necesito agrupar cada tabla dinámica en forma diferente -siempre números, en un caso en pasos de 20 y en otro en pasos de 40- y cada vez que realizo un cambio en el menú de la tabla "Agrupar", cambian las formas de agrupar en ambas tablas, que no es el resultado que esperaba.

    Tiene alguna explicación este comportamiento y -sobre todo- alguna manera de corregirlo para que se comporten independientemente?
    El origen de datos de ambas tablas es una tercera hoja, he probado borrando la tabla dinámica de la hoja copiada e insertando una nueva de cero, cambiando el nombre de ambas tablas y nada ha surtido el efecto deseado.

    Desde ya, muchas gracias por su respuesta, su sitio es para mí referencia primaria de utilización de Excel.
    Cordiales saludos.

    Gregorio Correa

    ResponderBorrar
  9. Gregorio,
    debo confesar que no conocía este problema. En Excel Clásico (97-2003) no ocurre, pero parece ser que Excel 2007 crea una sincronización automática de las tablas creadas sobre la misma base de datos. El tema merece un poco más de investigación.
    Mientras tanto lo que podés hacer es modificar levemente el rango de origen de los datos de la tabla. Por ejemplo, si el rango de origen es A1:D100, creás una nueva tabla con A1:D101.
    En cuanto tenga una respuesta un poco más "científica" la estaré publicando en el blog.

    ResponderBorrar
  10. Es increíble, con muchísima simpleza enmendaste mi problema.
    A partir de tu respuesta lo he "solucionado" incorporando columnas ficticias con valores vacíos, lo que me permitió agrupar en forma diferente para cada tabla.
    Muchas gracias por tu pronta respuesta, saludos y buen comienzo del año entrante!

    Gregorio Correa

    ResponderBorrar
  11. Impecable respuesta, solucioné el problema agregando columnas "ficticias" al rango de origen.
    Muchas gracias por tu pronta respuesta, gracias a ella pude continuar evitando duplicaciones de orígenes.
    Un cordial saludo y felices fiestas!

    Gregorio Correa

    ResponderBorrar
  12. Maestro:
    Primeramente saludos desde México y siguiendo a diarios su blog único en la red en cuanto a las enseñanzas impartidas por usted; tengo la siguiente observación:
    Mire estoy trabajando con Excel clásico y no logro agrupar datos en tablas dinámicas cunado doy un rango dinámico a dicha tabla.
    Excepto cuando doy manualmente el rango.
    ¿Conoce usted otra manera de agrupar con un rango dinámico en esta versión?
    Por su ayuda mil gracias y Dios nos lo siga conservando.

    ResponderBorrar
  13. Hola y feliz 2010,
    la agrupación (manual o automática) no está relacionada con la definición del rango de la tabla dinámica, sino con el tipo de dato que queremos agrupar. Por eso no me queda clara tu consulta. Te sugiero que me mandes el archivo con una nota sobre el problema.

    ResponderBorrar
  14. Argemiro Simbaqueva19 marzo, 2011 22:30

    Gregorio Correa, es cierto, las tablas en Excel 2007 cuando se crean con el botón de insertar Tabla Dinámica se crean enlazadas.

    Para no tener que agregar rangos diferestes, utiliza el asistente de crear tablas dinámicas. Al final, te preguntará si desea enlazar o sincronizar la tabla dinámica con las existentes, y pues se le dice no.

    Si no tienes el botón de "Asistente para tablas y gráficos dinámicos", haz lo siguiente:

    1. Da clic en el botón redondo de office 2007 (ubicado en la esquina superior izquierda de la pantalla).

    2. Da clic en "Opciones de Excel"

    3. Ingresar a la opción "Personalizar"

    4. En el seleccionador "Comandos disponibles en:" selecciona "Todos los comandos"

    5. Busca y agrega "Asistente para tablas y gráficos dinámicos"

    6. Da clic en aceptar, y el ícono aparecerá en la barra de herramientas para acceso rápido (la cual se encuentra en la esquina superior izquierda, al lado de la bola de office 2007).

    ResponderBorrar
  15. Hola Argemito,
    gracias por compartir. Una pequeña observación: hay que tomar en cuenta que al crear tablas dinámicas separadas de una misma base de datos, el tamaño del archivo se incrementa notablemente.

    ResponderBorrar
  16. Publico un aporte de uno de los lectores

    Tambien se pueden Dar 2 nombres diferentes al Rango ejemplo DATOS1 y DATOS2, creas las 2 tablas dinamicas, a cada una le asigna el nombre de origen difernte, que apuntan al mismo rango y al cambiar el diseño de la tabla dinamica 2 no afecta a la numero 1.

    Espero les sirva a todos.

    Nicosoftx: no es saludable poner la dirección de tu mail en estos comentarios

    ResponderBorrar
  17. Hola,

    cuando hago agrupaciones hay veces que no me deja modificar el nombre y me queda grupo 1. No sé donde está el problema. ¿Me podrías ayudar?
    Gracias

    ResponderBorrar
  18. Te sugiero que me envíes el cuaderno para poder revisarlo.

    ResponderBorrar
  19. Hola tengo una tabla dinámica que tiene edades y necesito agruparlas pero en grupos de 15 a 20; 25 a 30 y luego de 30 a 45, 45 a 65 y mayor de 65... existe alguna forma?

    ResponderBorrar
  20. Una forma es agregar una columna auxiliar otorgando a cada fila de la tabla el valor correspondiente.

    ResponderBorrar
  21. Buen día,
    Solo para solicitar su ayuda, tengo un problema con la agrupación de datos, no puedo hacerlo de manera manual en Excel 2016 me aparece el mensaje "no se puede agrupar la selección" únicamente puedo agrupar fechas.

    ResponderBorrar
  22. Mario, aunque no lo señalas estás usando tablas dinámicas para agrupar (también podrías hacerlo con Power Query).
    Si estás agrupandp manualmente, seleccionado los valores del campo de fila a agrupar, noo tendrías que tener problemas. El mensaje "no sepuede agrupar la selección" suele aparecer cuando se intenta hacer una agrupación automática, con el menú "Agrupar", y hay valores de distinto tipo en el campo.

    ResponderBorrar

Nota: sólo los miembros de este blog pueden publicar comentarios.