Вы не можете сделать это изначально. Вы должны существенно свернуть свою собственную пользовательскую форму, которая позволяет вам переключаться между отображением всех элементов и отображать только те элементы, которые на самом деле имеют данные с настройками других фильтров. И эта пользовательская форма также должна иметь пуленепробиваемый способ изменения параметров фильтра. Более того, для этого требуется очень разумный подход, поскольку в PivotField могут быть сотни, тысячи и более элементов. Просто повторить через них, чтобы проверить их статус, waaay слишком медленно, согласно моему сообщению на эту тему по адресу http://dailydoseofexcel.com/archives/2013/11/14/filtering-pivots-based-on-external-ranges/
Следовательно, потянув это эффективно - если вообще - очень сложно. Я работаю над коммерческой надстройкой, чтобы сделать это (и многое другое) уже более двух лет, что очень близко к выпуску, и мне показалось трудным сказать, из-за взаимодействия между полями. Тем не менее, я сделал это и скоро выпущу, если это поможет. Но поскольку это коммерческий продукт, я не могу свободно делиться кодом, я боюсь.
Вот пример того, как он выглядит, как выглядит собственный фильтр PivotField. Обратите внимание на установленную настройку «Скрыть элементы без данных». Это делает то, что вы хотите ... он подавляет отображение всех тех вещей, которые отфильтровываются на другом уровне фильтра.
... и вот что вы увидите, если поставить галочку в этом поле:
Как вы можете видеть, это подавляло отображение всего много несущественных элементов (те, начиная с 1), поскольку они уже отфильтрованы другим PivotFilter на более высоком уровне иерархии.