Filtro de mesa pivotante


0

A continuación se muestra una representación simple de una gran cantidad de datos y su tabla dinámica

Datos

+------+------+
| Proj | Data |
+------+------+
| ABC  | S    |
| ABC  | U    |
| ABC  | S    |
| ABC  | U    |
| ABC  | U    |
| XYZ  | U    |
| XYZ  | U    |
| XYZ  | U    |
| XYZ  | U    |
| XYZ  | U    |
+------+------+

Cuando aplicamos tabla dinámica a estos datos,
Etiqueta de columna - Proyecto
Etiqueta de la fila - Datos
Datos de valor

Obtenemos,

+-------+---+---+-------+
| Proj  | S | U | Total |
+-------+---+---+-------+
| ABC   | 2 | 3 |     5 |
| XYZ   |   | 5 |     5 |
| Total | 2 | 8 |    10 |
+-------+---+---+-------+

¿Cómo podemos mostrar el resultado a continuación,
utilizando una combinación de filtros de valor y filtros de etiqueta en las etiquetas de columna
y sin usar filtros de etiquetas de fila (no será factible ya que los datos originales tienen demasiadas etiquetas de fila)

+-------+---+---+-------+
| Proj  | S | U | Total |
+-------+---+---+-------+
| ABC   | 2 | 3 |     5 |
| Total | 2 | 3 |     5 |
+-------+---+---+-------+

¡Gracias!


¿Cuál es su criterio para tener solo ABC en sus resultados? Parece arbitrario que elimine XYZ de los resultados y luego declare que en realidad no puede filtrar XYZ (o cualquier cosa menos ABC).
JNevill

El objetivo real es filtrar la tabla dinámica para obtener nombres de proyectos que tengan S asociada. Aquí, como XYZ solo está asociado con U, debe ser filtrado. Sin embargo, no puedo simplemente filtrar por fila ya que los datos reales tienen demasiados proyectos para seleccionar individualmente en un filtro de fila. Por lo tanto, estoy buscando una manera de usar una combinación de filtros de valor y etiqueta.
OT5

@ OT5 Si desea que su pregunta se transfiera a un sitio diferente en la red, "márquelo" para que el moderador lo solicite y solicite la migración.
a CVn

Respuestas:


0

Creo que también puedes hacer este buen filtro en Excel 2010 (mientras estoy usando 2013).

enter image description here

ACTUALIZAR

Este código lo hará:

Sub hide_pivot_items()
Dim pt As PivotTable
Set pt = ActiveSheet.PivotTables("PivotTable2")
Dim cell As Range

For Each cell In pt.PivotFields("Data").PivotItems("S").DataRange
    If cell.Value = vbNullString Then
        'hiding row
        pt.PivotFields("Proj").PivotItems(ThisWorkbook.ActiveSheet.Cells( _
            cell.Row, pt.PivotFields("Proj").DataRange.Column).Value).Visible = False
    End If
Next
End Sub

Solo usa el nombre de tu tabla dinámica en lugar de PivotTable2 en la tercera linea


Gracias ZygD. ¿Podríamos mostrar la columna U junto con este filtro? ¿Como la que mencioné en la pregunta?
OT5

@ OT5 He actualizado mi respuesta con la solución codificada. ¡Aclamaciones!
ZygD

Realmente aprecio que haya pasado por el problema de replicar el problema y escribir el código como una solución. Sin embargo, ¿es posible obtener sin un código pero con alguna combinación de filtros de etiqueta y valor?
OT5
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.