Segmentación de datos. ¡Vas a flipar!

segmentación de datos en excel

Anuncio que esto no es apto para gente con problemas de corazón, es demasiado para algunos… yo estuve días soñando con ello… ¡allá vamos!.

La segmentación de datos en Excel es una potentísima herramienta cuyo nombre en inglés es mucho más intuitivo (Slicer, deslizador). Esta pequeña herramienta  puede suponer un antes y un después en tú vida si te dedicas al análisis de información y usas tablas dinámicas para ello. Y si no te dedicas al análisis de información pero usas tablas dinámicas para lo que sea también te será útil.

segmentación de datos en excel

¿Qué es la segmentación de datos?

La segmentación de datos se utiliza con las tablas dinámicas para controlar un filtro de una o varias tablas dinámicas.

En el ejemplo que explicábamos en el Tutorial para la creación de tablas dinámicas veíamos un ejemplo muy sencillo pero que nos puede ayudar mucho a dar un poco de luz sobre este tema.

Imaginemos que tenemos dos tablas dinámicas:

  • Una está compuesta por los datos de los vendedores agrupados por filas. Fila 1: Carl Refour; Fila 2: Hasan Chezro Mero… y así sucesivamente.
  • La segunda tabla está compuesta por el resultado de las ventanas según el tipo de elemento vendido.

Para conocer el número de ventas de cada mes, en vez de cambiar los filtros de las tablas dinámicas añadiremos un elemento de segmentación de datos que nos permita cambiar el filtro de todas las tablas dinámicas (o las que queramos ) a la vez y de una manera mucho más sencilla, sin elegir de un desplegable sino de una lista con todos los valores (siempre que la alarguemos todo lo que haga falta).

Insertar un elemento de segmentación de datos

Para insertar un elemento de segmentación de datos en una hoja de Excel que contenga tablas dinámicas (si la hoja no los contiene pero sí el libro también podremos crearlo) haremos lo siguiente :

0. Colócate encima de las tablas dinámicas a las que quieres ligar el elemento de segmentación de datos.

1. Hacer click en el icono de Segmentación de datos en la barra de herramientas:

Pestaña Insertar >> Grupo Filtro >> Insertar segmentación de datos.

segmentación de datos ribbon

2. Una vez que hayamos hecho click nos saltará una ventana en la que elegiremos los elementos de segmentación de datos que queramos. En nuestro caso elegimos únicamente el parámetro mes.

segmentación de datos insertar

Este selector nos permite seleccionar como elemento de segmentación de datos en excel cualquier nombre de columna (parámetro) de la fuente de nuestra tabla dinámica.

3. Una vez seleccionado el elemento de segmentación de datos aparecerá incrustado en nuestro excel. Como cualquier objeto de excel podremos cambiarle el tamaño y la apariencia con un poco de pericia.

Segmentación de datos selector

Este elemento es el selector de datos por los que filtrar nuestra tabla.

Vincular la segmentación de datos a varias tablas dinámicas

Para vincular varias tablas dinámicas a un mismo selector hacemos click con el botón derecho sobre el elemento de segmentación de datos y nos aparecerá un menú contextual con la opción: “Conexiones de tabla dinámica“. Seleccionamos esta opción y automáticamente saltará una ventana que nos permite seleccionar las tablas dinámicas que estarán bajo la conexión de este elemento de segmentación. (Nota: las tablas dinámicas aparecen con su nombre original y puede ser un poco lioso cambiar los nombres de todas si hay muchas o puede ser complicado elegir donde queremos que aplique.)

Seleccionar elementos y borrar selección

Para seleccionar:

  • Un elemento: hacer click sobre el mismo
  • Dos o más elementos: hacer click sobre ellos mientras se mantiene presionado Ctrl. Esto depende de si están seleccionados o no.
  • Borrar selección: para borrar la selección habremos de hacer click en la esquina superior derecha donde aparece un aspa roja sobre un icono de un embudo.

A continuación os dejo un libro que podréis descargar para ver el ejemplo que aquí hemos utilizado:

Autor: Quique Arranz

Quique es un fanático del Excel desde que empezó a trabajar con ello hace unos pocos años. Adquirió su conocimiento a través de Google y de infinitas pruebas y más pruebas. Además, Quique es un entusiasta de su familia (mujer e hijos), del deporte y de la cerveza... no dudes en contactar con él para cualquier duda que tengas.

46 opiniones en “Segmentación de datos. ¡Vas a flipar!”

  1. Hola, queria saber si me puedes ayudar con un problema. Excel no me deja agregar nada al modelo de datos por lo tanto no puedo usar power pivot, todas las opciones me aparecen como desvanecidas y no las puedo seleccionar. Antes usaba power pivot con toda la facilidad del mundo pero no se que paso y ahora no lo puedo usar.

  2. Hola Quique

    Una consulta, es posible que al tener varios Slicer y en la consulta salgan celdas en blanco estas puedan ser rellenadas manualmente con diferentes datos? al igual que fija comentarios en alguna columna segun sea necesario?

    Muchas gracias de antemano
    Saludos
    Patricia

  3. buen dia,
    tengo oficce 2013, cuando trato de hacer la segmentacion de datos de la tabla dinamica me aparece desactivada la opcion de segmentacion de datos

    1. Hola Camilo, si has elegido cualquier celda de la tabla dinámica verás el menú Herramientas de Tabla dinámica. Una de las opciones es el segmentador que no es nada más que un filtro por lo que, en principio siempre está activo si has seleccionado una tabla dinámica. Mándanos al correo de la web tu archivo y vemos qué puede suceder. Saludos,

  4. Muy agradecido por la información contenida en este tema. Me parece muy interesante y de fácil acceso.

  5. Hola buenas noches, me pueden ayudar con lo siguiente, quiero insertar un slicer y realizar los siguiente, quiero un comparativo de 2 semana en la misma hoja, por lo cual quiero que, al momento de seleccionar el slice semana 2 en una tabla me cambie a la semana 2 pero en la otra tabla me deje la 1, no se si me explico asi poder observar que cambios hubieron o si hay alguna mejora, no se si me entienden, por su ayuda muy agradecido. Un saludo.

  6. Hola¡ una duda como puedo ordenar de manera personalizada los valores dentro de un cuadro de segmentación… gracias!!

    1. Hola Ricardo,
      La respuesta es fácil, no se puede. Simplemente puedes ordenarlos poniendo números delante (yo a veces lo hago así) o letras porque se ordenan alfabéticamente o en orden de menor a mayor.
      Un saludo,
      Quique

  7. Hola buenos días, una ayuda por favor,
    Necesito centrar y ajustar la información que esta en los botones que me genera la tabla de segmentación de datos , ya que es un texto largo no puedo ampliar la tabla, espero me allá hecho entender.

    saludos,

    1. Hola Juan,
      Para ello deberías cambiar el formado de segmentación de datos y ver si con las opciones te puede salir bien lo que buscas. Para crear un nuevo formato de segmentación de datos debes cambiar en el grupo de “estilos de segmentación de datos”.
      Saludos,
      Quique

  8. Consulta: tengo dos tablas dinámicas pero que provienen de dos matrices diferentes, el ícono de “insertar segmentación de datos” aparece inactiva. Por favor su apoyo. Tal vez pueda ser que esta función solo se activa cuando ambas tablas provienen de la misma tabla matriz.

  9. Tengo una tabla dinámica, que se carga con la ejecución en SQL de un store procedure con un parámetro. Uso 4 segementaciones de datos en la tabla. Cuando cambio el parámetro a mano, funciona perfectamente, actualiza los datos en la tabla y en las segmentaciones. Entonces procedí a grabar una macro que haga eso. Cuando ejecuto la macro, me actualiza los datos, pero no las segmentaciones y si lo intento nuevamente, se me cae completamente el excel y lo trata de reparar, pero para repararlo quita la tabla dinamica y las segmentaciones. Ojalá pudieras ayudarme a decifrar que puede ser. Saludos

    1. Hola Damián,
      el tema es muy complejo y puede ocurrir por muchas cosas. Sin verlo no se me ocurre el problema. Puede ser que el archivo esté dañado… ¿Has probado en la macro a añadir la sentencia RefreshAll?
      Saludos,
      Quique

  10. hola me hice un dashboard con varios graficos pero no me deja conecta los slicer….solo me funciona con uno de los graficos…ojala puedas ayudarme….garcias Saludos

    1. Hola Mady,
      Los slicers tienen que estar conectados con las tablas dinámicas de las que se nutren los gráficos… y para ello, dichas tablas dinámicas deben tener la misma fuente. Espero que este comentario pueda darte un poco de “luz” sobre tú problema.
      Un saludo,
      Quique

      1. hola…si tienen la misma fuente, pero cuando quiero conectarlas no me salen las otras…hay otra forma de configurar para que se puedan conectar entre si?

        1. Hola Mady,
          debe haber un problema con la fuente de las tablas dinámicas. Si no es así, no se qué puede pasar. Te recomendaría eliminar la segmentación de datos que tengas y volverla a crear con origen en otra tabla dinámica. Después, mira si las conexiones disponibles son todas las que necesitas.
          (Un pequeño consejo. Cuando yo tengo este tipo de problemas me creo un libro con un ejemplo muy sencillo para verificar que esté haciendo todo bien, te lo recomiendo fervientemente).
          Un abrazo,
          Quique

  11. Hola Quique,
    te hago una consulta. Vi el archivo que enviaste, si me posiciono en la tabla dinámica veo perfectamente en Opciones-Insertar segmentación de datos. Ahora bien, si yo creo la tabla dinámica, al entrar a Opciones, Insertar Segmentación de datos No está disponible (aparece en gris, por ende no está habilitado). Qué tengo que hacer? Desde ya te agradezco y te felicito por el post!

    1. Hola Mariela,
      So se el motivo por el que te pasa esto, sorry. ¿Qué versión usas de Excel? ¿Te colocas encima de la Tabla Dinámica para añadir la segmentación de datos?
      Un saludo,
      Quique

  12. Hola Quique, este post tiene ya mucho tiempo, pero espero que aún tengas alertas y puedas ayudarme.
    Cuando creo una tabla dinámica, la opción de insertar segmentación aparece inabilitada, no puedo seleccionarla. Pensé que era por mi versión de Office (aunque en el 3 siempre lo había usado y funcionaba) Pero con el office 10 sigue escurriéndome, y ademas también lo atribuí a que trabajo con tablas enormes, e igual la herramienta estaba limitada.
    Pero he probado con muy pocos datos y tampoco puedo elegirla, estoy volviéndome loca!

    Si pudieras ayudarme te lo agradecería con creces!
    Un saludo

    1. Hola Myriam,
      vamos poco a poco a ver si lo resolvemos. ¿Te has bajado el ejemplo que viene al final del tutorial? Si es así, ¿puedes ver la segmentación de datos?. Sino, please, haz la prueba y vamos viendo otras opciones.
      Saludos!
      Quique

  13. Buenos días,

    Buscando ayuda en internet, encontré su blog y espero me pueda ayudar.

    Hice una segmentación con tablas dinámicas, cuando intento actualizar las gráficas o agregar una nueva, excel me muestra un error diciendo que la tabla de datos esta dañada. Cuando agrego más datos a la tabla de datos y quiero actualizar todo me muestra el mismo error.

    No se si una vez hecha la segmentación los cambios no son posibles, pero me parecería una gran carencia de la funcionalidad.

    No soy experta en Excel pero de vez en cuando me gusta ensayar y aprender cosas, así que si puede ayudarme le agradecería mucho.

    Cordialmente,

    Jelebar

    1. Hola Jelebar,
      la segmentación de datos no tienen la limitación que comentas. Si añades nuevos datos y refrescas no debería darte problemas siempre y cuando las tablas dinámicas estén referenciadas a una tabla y no hay un rango (de manera que la tabla recoge los nuevos datos que agregas).
      sin ver la hoja de Excel no me hago cargo del problema.
      Un saludo,
      Quique

  14. Buen día,
    Me podrías ayudar yo tengo una tabla dinámica y le puse varias segmentaciones, cuando elijo algo de la segmentación inmediatamente me aparece en la tabla dinámica pero cuando me paro en la tabla dinámica y le doy doble clic en los datos para que me los muestre en otra hoja, no me tiene en cuenta el filtro que hice con la segmentación, me aparecen todos los datos, qué debo hacer?.

    1. Hola Carolina!
      para resolver este problema tienes que poner en la parte de filtros los valores de segmentación… de esta manera la segmentación funciona igual pero a la hora de hacer el doble click si que tienen en cuenta los diferentes filtros.
      saludos!
      quique

    2. Buenas tardes,

      Tengo varias hojas de calculo; todas ellas tienen de dos a tres columnas comunes, el resto de columnas son diferentes.

      Estoy intentando segmentarlas, pero no hay manera. Parece ser que la segmentación de datos solo funciona con tablas con un mismo origen(hoja).

      Una manera de hacerse podría ser a través de PowerPivot; pero…. problema! las relaciones no son 1-1, son relaciones varios – varios.

      ¿Me pueden ayudar? Yo ya no sé que hacer.

      En cualquier caso, gracias por leerme.

  15. Hola Quique,

    estoy trabajando con power pivot y segmentación de datos y quisiera preguntarte si conoces alguna forma de eliminar todos los filtros de las segmentaciones de una vez en una hoja o en el libro completo. Tal vez con VBA?? Gracias y muy buenos tus trabajos!

    1. Hola Víctor,
      sintiéndolo mucho todavía no he podido meterme en serio con PowerPivot… es una tarea pendiente. Espero poder investigar este verano en profundidad!
      Un saludo,
      Quique

  16. Hola Quique,

    estoy trabajando con tablas dinámicas y segmentación de datos y me surge una duda…a parte de los formatos predeterminados de excel, puedo formatear de alguna marera la segmentación? como redondear bordes, sombrear etc?

    Muchas gracias!
    Saludos

    1. Hola Silvia:
      Cuando creas un segmentador de datos y se situas en él, se presenta una cinta de opciones específica para este objeto, “herramientas de segmentación de datos”. Con estas herramientas puedes formatear a tu gusto algunas cosas: el tamaño de los botones y su apariencia, título, estilos, etc. Pero no hay opciones para cambiar algunas propiedades del propio recuadro del segmentador como las que mencionas.
      Con vba tampoco veo forma de hacerlo porque la propiedad Shape del objeto slicer es de sólo lectura.
      Así que, en mi opinión, no es posible la personalización que planteas.
      Saludos.

  17. no se si me puedes ayudar. tengo una tabla en la que tengo un campo calculado el cual quiero filtrarlo condicionalmente si es 0 o es >0. .Lo de la segmentacion me ha parecido way

  18. Hola, Una duda… Si, por un lado, realizo una segmentación de datos en una tabla sobre un rango de datos y, por otro lado, realizo otra segmentación de datos de otro rango de datos en una tabla sobre un rango de datos. Es posible vincular ambas segmentaciones de datos?

    Hablamos que son dos tablas con orígenes de datos diferentes pero cuyos filtros principales son los mismos.

    Muchas gracias de atemano!

    1. Hola Bardok,
      la verdad es que no tenía clara la respuesta y he investigado un poco y realizado algunas pruebas y no se puede.
      Seguro que encuentras un “workaround” para solucionar el problema.
      Saludos!
      Quique

  19. Como puedo hacer para, en alguna celda de la hoja, obtener el valor del valor selecionado en un slicer.
    Encontre este codigo que funciona a la perfeccion en el libro origen:

    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim count1 As Integer
    Dim name1 As Variant
    For i = 1 To ActiveWorkbook.SlicerCaches(“Slicer_Transactions11”).SlicerItems.Count
    If ActiveWorkbook.SlicerCaches(“Slicer_Transactions11”).SlicerItems(i).Selected = True Then
    count1 = count1 + 1
    End If
    Next i
    If count1 = 1 Then
    Cells(5, 1) = ActiveWorkbook.SlicerCaches(“Slicer_Transactions11”).VisibleSlicerItems.Item(1).Name
    Else
    Cells(5, 1) = “ALL GROUP”
    End If
    End Sub

    sin embargo, una vez modificando el nombre del slicer en mi libro, de acuerdo al nombre generado en el cuadro de settings, obtengo el siguiente mensaje:

    Run time error ‘1004’:
    Aplication -defined or object -defined error

    el cual hace referencia a la linea que comienza con “For i = 1” (4a linea)

    Gracias anticipadas

    1. Hola Leo,
      el problema que tienes en tú macro es que has escrito el nombre del SLICER. Fíjate bien en el tipo de comillas que usas, deben ser las que están encima del 2 en el teclado (normalmente). No uses otras comillas porque sino VBA no entiende lo que es una cadena de texto (string) como en este caso es el nombre. Lo mismo te pasa en la antepenúltima línea (ALL GROUP).
      Saludos!

      1. Hola, justo estoy tratando de hacer eso. Tengo un Dashboard basado en Tabla dinámica y asociado a Segmentadores. Pero tengo un tema de otros datos, que no están en la base de datos de SQL a la que me conecto, y necesito hacer fórmulas que funcionen dependiendo de lo que elija en el SLICER. Traté de copiar y pegar el código, pero al parecer como mi Excel está en español algunas funciones no “funcionan”.

        Me podrían ayudar por favor.

        1. Hola Aura, me sorprende un poco lo que dices porque yo trabajo con Excel en español pero todo el código lo tengo que escribir en inglés y no sólo el nombre de las funciones. ¿Es posible que estés intentando usar funciones en inglés directamente en el Excel en español? ¿nos podrías enviar más información al email de la web?. Saludos,

  20. A todo esto, la segmentación sólo es posible hacerla en tablas dinámicas o en Excel 2013, a partir de una sóla Tabla ó rango, solo es posible si el Libro o la hoja tienen alguna conexión externa, creo…

    Saludos!

    1. no alicia, a partir de Excel 2010 puedes hacerla y no es necesario tener conexiones externas… lo que necesitas es tener varias tablas dinámicas y una misma fuente de datos.

Comentarios cerrados.