楼主 lrlxxqxa |
先引一段帮助,方便理解: 返回存储在数据透视表中的数据。如果报表中的汇总数据可见,则可以使用函数 GETPIVOTDATA 从数据透视表中检索汇总数据。 通过以下方法可以快速地输入简单的 GETPIVOTDATA 公式:在返回值所在的单元格中,键入“=”,然后在数据透视表中单击包含要返回的数据的单元格。 (,,field1,item1,field2,item2,...) Data_field 为包含要检索的数据的数据字段的名称,用引号引起。 Pivot_table 在数据透视表中对任何单元格、单元格区域或定义的单元格区域的引用。该信息用于决定哪个数据数据透视表包含要检索的数据。 Field1, Item1, Field2, Item2 为 1 到 14 对用于描述检索数据的字段名和项名称,可以任何次序排列。字段名和项名称(而不是日期和数字)用引号引起来。对于 OLAP 数据透视表,项可以包含维的源名称,以及项的源名称。OLAP 数据透视表的一对字段和项如下所示: "[产品]","[产品].[所有产品].[食品].[烤制食品]" 使用透视表过程中,在外部键入等号然后选择内部的单个单元格时,会自动输入 GETPIVOTDATA 函数。如在实例表中要调用李连霞成功的金额,在E5输入=,单击透视表区域内B5,则自动生成公式:
GETPIVOTDATA 将从数据透视表中检索数据。该函数的最大好处是,当透视表布局更改时它能继续检索正确的数据。如果在布局更改时某块数据的单元格位置也更改了,函数仍将找到并返回正确的值,不管它在哪个单元格。 先说一下GETPIVOTDATA函数的第2个参数:pivot_table 第二个参数是对透视表本身的引用,它可以是透视表中任意单元格、分配给透视表的数据区域名或存储在表格左上角内的单元格的标志。 后面的参数则告知excel所需数据的类型,它包含在双引号中,指定各字段名,这些字段名在表中的交叉点就是要获取的数据。第2个参数中的各字段名之间要用逗号隔开。 GETPIVOTDATA函数获取的数据源必须是在透视表中可见的,否则将返回错误值“#REF!” 这里有一点需要注意:GETPIVOTDATA函数的第一参数能否用单元格引用来代替呢? 如实例中黄色F5单元格,
处理这种错误的方法有两种: 1、把第一参数用T()转换;如G5单元格公式
2007 中 选中数据透视表任意单元格——数据透视表工具——选项功能区——选项(下拉小箭头)——把“生成GETPIVOTDATA”的钩勾选或者去掉控制打开还是关闭; 2003 中 在 数据透视表 工具栏上, 单击 工具栏选项 箭头。 此箭头显示在右边末尾工具栏,单击 数据透视表 工具栏上现在出现 “生成 GetPivotData 按钮”,当您单击此按钮, 控制打开还是关闭。 GETPIVOTDATA 实例.rar GETPIVOTDATA 实例2007.rar |
2楼 litk0620 |
长知识啦 对我工作太有用了 |
3楼 悠悠雨 |
study |
4楼 水星钓鱼 |
学习下。第一参数可以用单元格引用这个发现很不错。 |
5楼 hjinshanz |
太好了,长见识。 |
6楼 gouweicao78 |
GETPivotData函数在Excel2000中的语法是不同的,这个语法在2003、2007、2010版中都可以使用,只不过后面版本的Excel帮助文件中没看到这样的用法。 在“疑难千寻千解”丛书之《Excel 2010 函数与公式》 疑难252中 ,披露了这个用法,微软excel2003官方网站表述可以查看: 本文分步介绍如何使用 GETPIVOTDATA 函数来从数据透视表中检索数据。Microsoft Excel 2000 有一个新工作表函数 GETPIVOTDATA,使您可以使用数据透视表数据的数据透视表外部的。 回到顶端 GETPIVOTDATA 函数允许您从数据透视表,检索汇总数据的前提是在数据透视表中可见的数据。 下面是 GETPIVOTDATA 函数语法 = GETPIVOTDATA(pivot_table, name) 其中 pivot_table 参数是对您要分析的数据透视表中的单元格的引用。pivot_table 参数也可以在数据透视表,包含数据透视表或存储在数据透视表上方单元格中标签的单元格区域的名称中的单元格区域。在名称参数是一个文本字符串,它用引号括起来,并描述了要汇总的数据。 回到顶端 此步骤定义了数据透视表作为 PT1 范围。 结果是值为 1,因为 bob"东"区域中相对于全部总计是 1。 结果是 9 的一个值,因为"西部"地区中的总和为 9。 结果是 28 的一个值,因为在所有地区的所有销售的总和就是 28。 |
7楼 君柳 |
GETPivotData 用法再温习 |
8楼 tracy1984 |
学习~~~~~~~~~~~~ |
9楼 乃么格记僵特了 |
这才完整了呀,难怪我看一本书中某个案例看不懂。它就是用了2000版的函数格式,却木有说明。我套用新版格式,发现这个账死活轧不平。谢谢总版主咯。 |
10楼 jiujiu8900 |
谢谢分享 |
11楼 gouweicao78 |
Excel疑难千寻千解丛书之《Excel2010函数与公式》书疑难252专门讲解了一下,这个语法还是很经典的。 |
12楼 Nexus |
Thanks a lot! |
13楼 miuoomiu |
刚开始学用getpivotdata来做报表,关于“GETPIVOTDATA函数获取的数据源必须是在透视表中可见的,否则将返回错误值“#REF!””这句,我有疑问:感觉基本用法不复杂,要哪个条件就在后面添。比如: =GETPIVOTDATA(" KG",var!$A$3,"'period'",$C$2,"Category",$B8,"product",A8) (要取period=c2,category=b8,product=a8的销售重量kg,透视表名叫var,范围a3开始;透视表还包括customer,包装规格等字段) 这个刚开始是成功的,但当透视表结构(我指字段简单拉前/拉后,或者某字段折叠/展开,或者某个字段取消/增加合计段)的时候,即便我原来公式里涉及的数据源都仍可见,但原来的那个查询就有时正常显示,有时就显示ref# 这个简单的多字段条件查询,对透视表字段折叠,顺序,是否有小计字段有关系吗??我看了好些例子感觉没有的阿,请指点一下~~谢谢~~ |
14楼 lrlxxqxa |
要看具体情况的,如果透视表布局的变化引起getpivotdata的参数失效就会出错了。 |
15楼 miuoomiu |
我说的变化只是字段前后挪一挪,或者字段展开/折叠,或者字段增加/取消小计而已。。 |
16楼 lrlxxqxa |
如果getpivotdata参数都是静态数据就很可能导致错误了。 |
17楼 miuoomiu |
没有,参数基本是动态的 |
18楼 hexing588 |
没用过 |
19楼 fish-2013 |