
数据透视表是Excel的基本工具之一,当您像我们许多人一样花费时间分析信息时,可以使生活变得更轻松。 但是,尽管有用,但我们通常会容忍一些烦恼(或者说实话,甚至没有意识到有更简单的方法……)。
以下方面曾经是我的“痛点”:
- 经典格式,而不是2007/2010默认布局。 很多时候,最好是并排布局,而不是在下面缩进。
- 当基础数据发生更改时,不会发生数据透视表刷新 –在处理数据透视表时,如果基础数据发生更改,则数据透视表不会自动刷新。 当您使用多个数据透视表进行大型分析时,这变得很乏味。
- 源数据发生更改,数据透视表数据“源”需要手动更新以包括其他数据行。
下面分别讨论这些问题:
经典格式,而不是2007/2010默认布局。

要切换布局,只需右键单击(在PT中),然后选择“数据透视表选项”:

最后,确保关闭“小计”,并且PT现在显示经典版式格式。

基础数据更改时不会发生数据透视表刷新
一小段VBA(Visual Basic for Applications)可以轻松解决此问题。 代码如下(您可以从此处直接复制和粘贴):
私人子Worksheet_Activate()
ActiveSheet.PivotTables(1).PivotCache.Refresh
结束子
“技巧”是对于每个包含PT的图纸,应将此VBA放入“图纸代码”中。
这是如何做:

现在,无论何时选择该图纸,PT都会自动刷新。
源数据发生更改,数据透视表数据“源”需要手动更新
每次可以使用动态命名范围(数据添加时自动更新的范围)消除数据更改时,都需要手动更新数据透视表范围。 这可以通过两种方式完成-在Excel 2007或更高版本中,可以使用“表格格式”功能,也可以使用Excel公式创建动态范围名称。
创建一个命名表 -contextures.com在其网站上对此进行了很好的概述。 快速阅读此书将使您理解 –这很容易做到。
但是,偶尔最好不要使用表,在这种情况下, 动态命名范围虽然肯定不那么容易创建,但是一旦理解了语法和函数的作用,它就很简单。 所以我们开始。
要创建动态命名范围(DNR),请使用OFFSET函数。
OFFSET函数的语法为:
偏移(范围,行,列,[高度],[宽度]) **
**注意:高度和宽度是可选字段,在创建DNR时不使用。
因此,让我们在数据从单元格A1开始的工作表(名为“ Sheet1 ”)上创建一个动态命名范围。 创建此范围的公式为:
= OFFSET(Sheet1!$ A $ 1,0,0,COUNTA(Sheet1!$ A:$ A),COUNTA(Sheet1!$ 1:$ 1))
简而言之,它表示“从单元格A1开始”,“向下浏览A列中的行,直到没有数据”,然后“遍历第一行中的列,直到没有数据”
OFFSET函数中的参数应如下所示:
参考单元格: Sheet1!$ A $ 1
行要偏移: 0
要偏移的列: 0
行数: COUNTA(Sheet1!$ A $ A)
列数: COUNTA(Sheet1 $ 1 $ 1)
使用这种方法几次,您将不会返回。 我创建的每个数据透视表都使用命名表或动态命名范围。
祝好运!
关于唐

与唐连接!
LinkedIn,Flipboard,Twitter,Snapchat
或者,只有Google我……我无处不在
向唐发送电子邮件