它是如何(是否?)可能防止数据的数据透视表导致“#DIV / 0!”等数据缺失?
我正在生成一个数据透视表,其中包含项目的每月数据(销售了多less,销售了多less,以及相关的统计数据)。 但在某些情况下,一个或几个月内没有特定项目的销售。 在这种情况下,不存在包含“0”值的logging,该logging根本不存在用于不存在的销售。
当显示这样的项目的数据时,不存在的数据造成严重破坏。 下面的屏幕截图显示了当一个物品有两个月的数据时(APPLES,GALA 5#),以及当没有数据时(APPLES,GALA 5#):
正如你所看到的,当数据是PivotTablized的,而不是在“Total Packages”和“Total Purchases”中放置一个“0”时,它将这些单元格留空并插入一个“#DIV / 0! 在“平均价格总和”单元格中 – 然后是“。” 在“总计%”单元格中。
这是没有帮助或取悦的眼睛。 我希望在这些单元格或零点中有一系列破折号。
一个解决方法是为源数据中的每个当前不存在的数据创build一行,但这似乎是不必要的,而且极其糟糕 – 我将不得不确定哪些项目“丢失”了几个月,然后向它们提供0值。
这真的是我需要做的吗? 请说不是这样!
UPDATE
提供的答案让我去试验一下通过更改数据透视表格式选项的格式vals会发生什么。 有了这个数据开始:
…我为err valsinput了一个问号,为空单元input了一个破折号:
这导致数据看起来像这样:
更好,但还不完全是我想要的。 既然这样做更好,至less我会用一种程序化的方式来完成同样的事情。
我不期待看到“?” 遵循一些“良好”的价值观,虽然…
所以我可能需要的是“为空单元格,显示一个短划线”(它转换为0为int和$ 0为十进制)的编程等价物。
数据透视表可以隐藏错误。
右键单击您的数据透视表并select数据透视表选项 。 在布局和格式选项卡上的格式下,查找对于错误值显示 。
这并不完美(“pvt”是数据透视表):
pvt.ErrorString = ""; pvt.DisplayErrorString = true;
…但它确实空白(除了在“%”单元格中的顽固“。”)缺less的值:
我添加了另一行代码来看看它会做什么:
pvt.NullString = "-";
…所以我现在有这个:
pvt.ErrorString = ""; pvt.DisplayErrorString = true; pvt.NullString = "-";
…并添加最后一行确实有帮助 – 我得到“0”整数和“$ 0”小数如下: