HI,大家好,我是星光。
今天给大家分享的是一个比较冷门的函数:GETPIVOTDATA。
如果你经常使用透视表,应该对这个函数有一点点印象。也许你还记得,当透视表创建完成后,一般我会建议你在「分析」选项卡下取消勾选「生成GetPivotData」功能。
如果不取消的话,当你在公式里引用透视表范围内的单元格时,系统会莫名其妙的冒出来一段关于GETPIVOTDATA的函数公式,很长很复杂,小白朋友当场就会慌▼……
看我小眼神所以在大部分情况下,这个函数的出现都是让事情变得更糟,他的离开,反而会更好——简称好心分手👇
当然也有少部分例外的情况,比如说,前几天会员群里就有朋友提了这样一个问题👇
数据纯属虚拟如有雷同都是天意👆
如上图左表所示,这位朋友先用透视表创建一个数据报表,这个透视表存在大量的合并单元格合并单元格合并单元格。然后,她需要根据透视表的数据,在右表的I列编写函数公式,查询不同月份、类别和人名所对应的总成绩。
大概是出于报表美化的考虑,他不想启用透视表的重复所有项目标签的功能,也就是不允许取消透视表的合并单元格。
——摊手,这种情况下,你说怎么办吧?
……
……
~
参考函数解法如下:
=GETPIVOTDATA(
"成绩",$C$7,
"月份",F3,
"类别",G3,
"姓名",H3
)
解法使用了GETPIVOTDATA函数。人如其名,GETPIVOTDATA函数特别擅长get透视表powerdata中的数据。它一共有n个参数,语法如下:
=GETPIVOTDATA(
获取透视表数据所在列的字段名,
透视表范围内的任意单元格,
透视表条件列的字段名1,条件值1,
透视表条件列的字段名2,条件值2…………
)
第1个参数是所需要获取的字段的名称,本例中,咱们需要获取总成绩,字段名称也就是"成绩"。
第2个参数是透视表范围内的任意单元格的引用,可以是A2,也可以是C7等等,只要属于透视表范围之内就行,它的作用是定位所计算的透视表。
第3和第4参数是一个条件对,第3参数是透视表条件列的字段名,本例是"月份",第4参数是对应的查询条件,本例是F3单元格所指定的月份值。
第4和第5参数也是一个条件对,第4参数是透视表条件列的字段名,本例是"类别",第5参数是对应的查询条件,本例是G3单元格所指定的类别值。
打个响指,你小声说,使用GETPIVOTDATA函数解决这类问题,是不是比折腾那些复杂的数组公式简单多了?
而且这个函数还具有动态引用透视表范围的优点,只要不改透视表的字段名称,不管列的位置如何移动,它都可以智能跟随。
盖木欧瓦,再见。
本文由公众号“Excel星球”首发。
点击阅读原文系统学习Excel!