我正在生成一个数据透视表,该数据透视表由项目的月度数据(已售出的数量,销售数量和相关统计数据)组成。但是,在某些情况下,一个或多个月内没有特定商品的销售。在这种情况下,没有记录包含" 0"对于不存在的销售,该记录根本不存在。
当显示这样的项目数据时,不存在的数据会造成严重破坏。下面的屏幕截图显示了当一个项目确实拥有两个月的数据(APPLES,GALA 5#)以及它没有(APPLES,GALA 5#)时会发生什么:
所以你可以看到,当数据是PivotTablized时,而不是放一个" 0" in" Total Packages"和"总购买量"它将这些单元格留空并插入" #DIV / 0!"在平均价格总和中"细胞 - 然后是"。"总计"%"%细胞
这对眼睛没有帮助或赏心悦目。我希望在这些单元格或零中有一系列破折号。
一种解决方法是在源数据透视数据中为每个当前不存在的行创建一行,但这似乎是不必要的,并且极其糟糕 - 我必须确定哪些项目已经缺少"几个月,然后为他们提供这0个值。
这真的是我需要做的吗?请说出来了!
提供的答案促使我尝试通过更改数据透视表选项格式值来实现。有了这些数据:
...我为err vals输入了一个问号,并为空单元格输入了一个短划线:
这导致数据看起来像这样:
更好,但仍然不是我想要/期望的。因为它更好,至少,我会采用一种程序化的方式来完成同样的事情。
我不期待看到"?"关注一些" good"价值观虽然......
所以我可能需要的是程序化等效的"对于空单元格,显示短划线" (转换为0表示int,$ 0表示十进制)。
答案 0 :(得分:3)
答案 1 :(得分:0)
This is not perfect ("pvt" is the PivotTable):
pvt.ErrorString = "";
pvt.DisplayErrorString = true;
...but it does blank out (except for a recalcitrant "." in the %" cell) the missing values:
I added another line of code to see what it would do:
pvt.NullString = "-";
...so I now have this:
pvt.ErrorString = "";
pvt.DisplayErrorString = true;
pvt.NullString = "-";
...and adding that last line did help - I get the "0" for ints and "$0" for decimals like so: