绝了!Excel可以这样用:Excel函数范例实战精粹(速查版)
上QQ阅读APP看书,第一时间看更新

2.13 GETPIVOTDATA函数:对数据透视表检索

【函数名称】GETPIVOTDATA

【主要功能】返回存储在数据透视表中的数据。如果报表中的汇总数据可见,则可以使用函数GETPIVOTDATA从数据透视表报表中检索汇总数据。

【使用格式】=GETPIVOTDATA(data_field, pivot_table, field1, item1, field2, item2…)

【参数说明】

参数data_field为包含要检索的数据的数据字段的名称(放在引号中)。

参数pivot_table指在数据透视表中包含待检索数据的单元格的引用。可以为对任何一个单元格、任何单元格区域或定义的单元格区域的引用,也可以是包含数据透视表报表的区域的名称或数据透视表报表上方单元格中存储的标志。该信息用于决定数据透视表中包含要检索的数据。实际上数据透视表的英语单词就是Pivottable。

参数field1, item1, field2, item2为1到14对用于描述检索数据的字段名和项名称,可以任意次序排列。字段名和项名称(而不是日期和数字)用引号引起来。对于OLAP数据透视表,项可以包含维的源名称,以及项的源名称。

注意:

❑ 在函数GETPIVOTDATA的计算中可以包含计算字段、计算项及自定义计算方法。

❑ 如果pivot_table为包含两个或更多个数据透视表的区域,则将从区域中最新创建的报表中检索数据。

❑ 如果字段和项的参数描述的是单个单元格,则返回此单元格的数值,无论是文本串、数字、错误值或其他的值。

❑ 如果某个项包含日期,则值必须表示为序列号或使用DATE函数,这样如果在其他位置打开电子表格,该值仍然存在。例如,某个项引用了日期“2015年7月1日”,则应输入42186或DATE(2015,7,1)。时间可以输入为小数值或使用TIME函数来输入。

❑ 如果pivot_table并不代表找到了数据透视表的区域,则函数GETPIVOTDATA将返回错误值#REF!。如果参数未描述可见字段,或者参数包含未显示的页字段,则GETPIVOTDATA函数将返回#REF!。

【应用举例】

GET有“获取”的意义,PIVOT有“数据透视”的意义,DATA是“数据”。GETPIVOTDATA函数返回存储在数据透视表报表中的数据。如果报表中的汇总数据可见,则可以使用函数GETPIVOTDATA从数据透视表报表中检索汇总数据。

对于此函数,可以使用以下方法可以快速地输入简单的GETPIVOTDATA公式:在返回值所在的单元格中,键入“=”,然后在数据透视表中单击包含要返回的数据的单元格。下面举例说明。

在“GETPIVOTDATA函数示例”工作簿中,有三张表,第一张表名称为“数据库”的工作表(如图2.14所示);第二张表名称为“透视表”的工作表(如图2.15所示);第三张表名称为“最终表”的工作表(如图2.16所示)。

图2.14 数据库

图2.15 透视表

图2.16 最终表

图2.15是依据图2.14进行数据透视得来,图2.16是根据图2.15用公式定义而来。如在图2.16中的B3单元格,需要得出甲销售人员一月份销售A产品的销售额,具体做法是:在B3单元格中,输入等号(即=),然后在“透视表”的工作表中,选中C5单元格,则在图2.16的B3单元格中自动显示出GETPIVOTDATA函数公式:=GETPIVOTDATA("销售总额",透视表!$A$3, "销售人员", "甲", "月份", "一月份", "产品", "A产品"),这样就求出了相应的结果,同理,依照这样进行操作,也可以求出其他人员其他月份销售其他产品的相关数据。