GetPivotData #REF错误,数据格式问题?

时间:2018-12-05 17:30:51

标签: excel vba excel-vba pivot-table

当我尝试从数据透视表引用元素时,出现#Ref错误。

我实际上是在做一个“ =”,然后点击数据透视表以获取公式,甚至返回了#REF错误。

更具体地说,我正在使用数据透视表来汇总一些行和列中的数据字段。这些列的数字格式设置为字符串,因此当我执行公式时,会得到: = getpivotdata(“ my_sum”,ptable_ref,col_name,“ COL_VAL” ,row_name,row_val)

COL_VAL是一个类似于123、234的数字,但格式为字符串。现在,当我执行“ 123”的公式时,它可以工作,但是“ 234”的相同公式给我一个#REF错误。如果我不使用引号来使用数字本身,我仍然会收到错误消息。

我已经重新启动了excel和计算机,但这没有帮助。数据是从数据库查询中提取的,但col_name的格式相同。我也看不到任何尾随或前导空格。我为这可能是ing头。我宁愿不必遍历各行以获取所需的值,而只需使用该函数即可轻松完成自己的工作。

2 个答案:

答案 0 :(得分:0)

如果某些人正在寻找错误处理(#ref错误可能是由过滤器引起的):

=if(isError(formula);defaultValue;formula)

在Excel中,您可以为长表达式定义名称/变量,例如

formula=getpivotdata("my_sum", ptable_ref, col_name, "COL_VAL", row_name, row_val)

答案 1 :(得分:-1)

我通常不希望对Excel使用GetPivotData函数。您可以通过不在文件选项卡的excel选项中选择使用GetPivotData函数来删除该选项。请参阅ScreenShot enter image description here

如果我们需要在数据透视图中引用数据单元,那么绝对不要通过getpivotdata引用它(如“ F5”)更好吗?很好奇,为什么有人要在创建数据透视表后引用数据透视表?他/她本可以直接在数据透视表数据上使用求和,计数或平均函数……这只是一个建议。 #Ref错误可能意味着数据不支持枢轴单元(数据中缺少vlaue)。最好清除缓存或不使用getpivotdata并直接引用该单元格。