Фильтр сводной таблицы


0

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

Данные

+ ------ + ------ +
| Проект | Данные |
+ ------ + ------ +
| ABC | S |
| ABC | U |
| ABC | S |
| ABC | U |
| ABC | U |
| XYZ | U |
| XYZ | U |
| XYZ | U |
| XYZ | U |
| XYZ | U |
+ ------ + ------ +

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

Мы получаем,

+ ------- + --- + --- + ------- +
| Проект | S | U | Всего |
+ ------- + --- + --- + ------- +
| ABC | 2 | 3 | 5 |
| XYZ | | 5 | 5 |
| Всего | 2 | 8 | 10 |
+ ------- + --- + --- + ------- +

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

+ ------- + --- + --- + ------- +
| Проект | S | U | Всего |
+ ------- + --- + --- + ------- +
| ABC | 2 | 3 | 5 |
| Всего | 2 | 3 | 5 |
+ ------- + --- + --- + ------- +

Спасибо!


Каковы ваши критерии наличия только ABC в ваших результатах? Кажется произвольным, что вы удаляете XYZ из результатов, а затем заявляете, что на самом деле вы не можете отфильтровать XYZ (или что-то еще, кроме ABC).
JNevill

Фактическая цель состоит в том, чтобы отфильтровать сводную таблицу, чтобы получить имена проектов, с которыми связан S. Здесь, поскольку XYZ связан только с U, его необходимо отфильтровать. Тем не менее, я не могу просто фильтровать по строке, так как в реальных данных слишком много проектов для отдельного выбора в фильтре строк. Итак, я ищу способ использования некоторой комбинации фильтров значений и меток.
OT5

@ OT5 Если вы хотите, чтобы ваш вопрос был перенесен на другой сайт в сети, пожалуйста, пометьте его для внимания модератора и запроса на перенос.
CVn

Ответы:


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третьей строки.


Спасибо ZygD. Можем ли мы отобразить столбец U вместе с этим фильтром? Как тот, который я упомянул в вопросе?
OT5

@ OT5 Я обновил свой ответ кодовым решением. Ура!
ZygD

Я действительно ценю, что вы столкнулись с проблемой репликации проблемы и написания кода в качестве решения. Однако возможно ли получить без кода, но с некоторой комбинацией меток и фильтров значений?
ОТ5
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.