【不可能的数据透视表】如何选真正的TOP 5

我们一直强调数据透视表在Excel中的重要作用和强大能力:基本上大部分常用的报告都可以通过数据透视表完成。但是,总是有一些例外。今天我们就介绍一种用通常的数据透视表不能实现的例子,并且给出了两种实现方法

介绍

假设我们有一个数据透视表如下图:

在这个透视表中,我们对每个客户汇总了销量,并计算了他们的销量占比。由于客户过多(在这个例子中,我们有170多个客户),而且大部分客户的销量占比过小,所以,我们希望只展示前5个销量最多的客户。

为了实现这个要求,我们只能用数据透视表的筛选。点击“客户”(行字段)旁边的下拉箭头,选择“值筛选”,然后选择“前10项”:

在对话框中依据“销量”,选择“最大”的“5”“项”:

点击确定,得到了一个数据透视表,如下图:

大功告成了!?

且慢,仔细看一下,我们就会发现,还是有一点美中不足的:

我们看左边的筛选前的透视表,那个TPDBD1D83的客户,销量为68740,占比为7.18%。而右边筛选后的表格中,同样的客户,同样的销量,占比为24.33%。

这恐怕不是我们想要的报表。而由于透视表本身的局限,我们不能直接利用透视表得到我们想要的报表了😭

好在我们还有办法!下面我们就分别介绍一下这两种方法。

走“小路”的方法:筛选

没错,我们就是要通过筛选来完成!

透视表的筛选是肯定不行了。我们来试试Excel本身的透视,直接筛选透视表的第三列“销量占比”:

跟普通表的筛选一样,我们选中透视表的任意单元格,点击“数据”选项卡,点击“筛选”:

很遗憾,我们看到整个“排序和筛选”组的按钮都是灰色的,不能点击!

这是Excel的限制,在透视表中不能使用普通筛选,从功能上就限制住了。

不过没关系,我们这里有一条“小路”,可以绕过这个限制😁😁。

我们选中“销量占比”这个单元格右边的单元格,然后再看“数据”选项卡中的“排序和筛选”组:

这时,“筛选”按钮可用了。点击它,你神奇的发现,销量占比和销量列都可以筛选了:

点击“销量占比”右侧的筛选箭头,选择“数字筛选”,选择“前10项”:

在接下来的对话框中,设置“最大”的“6”“项”:

你没看错,是6项。如果你希望展示5项,这里就选6。如果希望展示10项,这里就选11。(猜猜是为什么)

得到我们想要的结果了。

走阳光大道的方法:数据模型

上面介绍的方法简单可行,但是毕竟是个取巧的小路。我们这里介绍一个走阳关大道的方法。

我们从创建透视表开始。

选中数据区域的任意单元格,点击“插入”选项卡下的“数据透视表”,在创建数据透视表对话框中,勾选“将此数据添加到数据模型”:

得到一个透视表:

在“数据透视表工具-设计”选项卡下点击最左侧的“分类汇总”,然后点击最下面的“汇总中包含筛选项”:

然后,像我们一开始的那样,在透视表的“售点”字段的筛选箭头中选择“值筛选”,然后选择“前10项”,将10修改为5,得到下面的透视表:

大功告成!

总结

这个总结有点多余,因为前面都讲的很清楚了。但是我还是想啰嗦两句。

首先,第一种方法应该是利用了微软的一个疏忽(从原理上说,确实应该禁止掉在透视表中使用普通筛选,因为会造成各种混乱和不可预见的结果),所以,在一些我们能够控制的场合,可以使用这个方法。但是这个方法会造成一些问题,比如,你可能注意到了,如果使用透视表的筛选,Excel并没有隐藏行,但是使用我们的方法1,Excel是把其它行隐藏掉了。如果你的透视表是跟其他元素一起作为Dashboard的一部分,这就会造成排版的困难。

第二种方法是我们推荐的正确做法,完全在微软提供的功能框架中完成,而且也并不麻烦。

最后,我再次推荐大家学习和使用Power Pivot(尽管我们这个例子并没有用到Power Pivot,只是用到了数据模型)。

好了,今天就分享到这里了!
(0)

相关推荐