|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
要解释你这个问题,有点绕,GETPIVOTDATA这个函数用的不多,稍微整理了一下,供你参考吧,有错误的地方还请批评指正:
1.首先必须明确GETPIVOTDATA这个函数语法结构和参数的写法是不一样的,要了解这些参数的写法和语法结构就必须先从数据透视表的2种不同形式说起.
2.数据透视表有两种形式:一种是普通数透,一种是OLAP数透(可以理解为在创建数据透视表时勾选了最下面的那个选项:口将此数据添加到数据模型(M) 。)就可以了,别的就先不探究,知道不一样就行。勾选后,GETPIVOTDATA这个函数的参数写法就不同了,包括”字段、项目和集“那个选项卡用法也是不同的(这里也就不说了)。如何判断其实也很简单,你就看【字段、项目和集】下面有个【OLAP工具】,鼠标点到数据透视表了,如果【OLAP工具】是灰色的就是普通,如果可以点开就是OLAP数透。有点扯远了,回到原话题。。。
3. 你那个公式:=GETPIVOTDATA("以下项目的计数:类型",Table!A1,"名称",Reference!A2,"类型",Reference!B2),结构是没问题的,语法也是对的,但它只适用于普通数据透视表(试过,普通数透下没问题),不适用于OLAP类型的数透,而你的表的数透是OLAP类型的,所有就错误了。。。。注意这里的字段用的标识符是:引号(” “)
4. 而在OLAP类型内,它的引用大概是这样:=GETPIVOTDATA("[Measures].[data_filed]",pivot_table,"[表1].[名称]","[表1].[名称].&[aaa]","[表1].[类型]","[表1].[类型].&[B]"),注意这里的标识符是:中括号([ ])
5. 满版的公式:=GETPIVOTDATA(Table!A$1,A2&" "&B2) , 这种写法是通用的,不论数透是什么结构的。大概抽象出来的结构如下:=GETPIVOTDATA(”查询区域“, ”查询内容“),注意:这里参数的顺序与上面是不一样的,其中第二个参数”查询内容”的写法也比较特殊: “字段名称” & ” “ & ”子项1 “ & ” “ & ”子项2“ .。。。其实也就是把你要查询的那个值的层级关系:每一层的名称用空格分隔组合成一整段字符串表示出来,注意这里的&" "&,是这种语法结构的固定格式。 另外当数据透视表只有一个数据字段时,字段名称是可以省略的,就变成了A2&" "&B2,完整格式是:=GETPIVOTDATA(Table!A$1,"计数项:类型"&" "&A3&" "&B3)。
|
|