在数据透视表中快速确定过滤值

我需要检查是否有大量数据透视表正确过滤了正确的项目。 现在我正在向下滚动,看看是否排除了某些条目,而没有其他的东西。 但是我的每一个领域都有超过一万个项目,这是永远的,我担心我会错过一些东西。 有什么方法可以让我简单地列出数据透视表中排除的值?

在这里输入图像说明

下面是一个非VBA解决scheme:制作两个新的数据透视表。 删除除了感兴趣的字段以外的每个字段。 如果它不是行字段,则将其拖到行窗格中。 清除其中之一的filter。 在未过滤的滤镜上进行VLOOKUP或简单匹配。 无论项目抛出的错误是被过滤掉的。

在这里输入图像说明

然后,您只需要筛选查找列来显示错误,右侧的数据透视表中列出了已经过滤的列表:

在这里输入图像说明

这是一个VBA方法:

你可以在我的post底部find一个非常高效的反转滤波器程序http://dailydoseofexcel.com/archives/2013/12/03/inverse-filter-a-pivot-based-on-an-external-range/可以用来简单地反转PivotFieldfilterselect,以便您可以看到之前隐藏的内容。 因此,您只需复制感兴趣的数据透视表,在感兴趣的字段中select一个单元格,然后运行PivotFilter_Invert例程。

这里是一个商业外接程序的潜行高峰,它将为您做到这一点:

在这里输入图像描述

请注意底部的“全部显示”,“显示过滤”和“显示未过滤”选项。 在上面的截图中,它是在“全部显示”模式。 如果点击“显示过滤”和“显示未过滤” 在这里输入图像说明 在这里输入图像描述

在考虑你的问题/要求之后,我将添加一个选项“复制列表到工作表”或类似的,所以你可以转储显示什么东西,什么不是工作表的报告。

它还允许您执行多个通配符筛选器,然后筛选生成的子集上的数据透视表: 在这里输入图像说明

如果您有兴趣进一步观察,我将在下个月在www.DailyDoseOfExcel.com上进一步发布。

如果您有权访问原始数据表,我相信最简单的方法是在右侧添加一个额外的列,该列将保存一个值,指示数据透视表中的存在。 就像[假设唯一的ID在A1中,并且数据透视表在Sheet2的A列中],这个单元格将在例如e1中,并被复制下来:

=ISERROR(MATCH(A1,'Sheet2'!A:A,0)) 

这将在数​​据透视表上找不到匹配的情况下显示TRUE,否则显示FALSE。

现在,您可以使用额外的数据透视表来提取展开的原始数据集,并将其过滤为只显示在新字段中为TRUE的项目。