Ниже приведено простое представление огромных данных и их сводной таблицы.

Данные

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

Когда мы применяем сводную таблицу к этим данным,
Coulumn Label - Proj
Метка строки - Данные
Значение - Данные

Мы получаем,

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

Как мы можем показать ниже результат,
использование комбинации фильтров значений и фильтров меток на метках столбцов
и без использования фильтров меток строк (это будет невозможно, так как в исходных данных слишком много меток строк)

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

Спасибо!

1 ответ1

0

Я думаю, что вы можете сделать этот хороший фильтр и в Excel 2010 (пока я использую 2013).

ОБНОВИТЬ

Этот код сделает это:

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

Просто используйте ваше фактическое имя сводной таблицы вместо PivotTable2 в третьей строке.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .