会计格式有时显示$ 0.00,其他显示$ -

时间:2012-08-31 21:19:54

标签: excel pivot-table number-formatting rounding-error excel-2002

我在Excel中有一个数据透视表,项目总和应该等于零。相反,我得到一个非常非常接近于零的数字(-3.63797880709171E-12)。正如@Tim Williams在他的评论中所指出的,这是一个已知的十进制工件< - >二进制浮点转换。

我主要关心的是格式化结果。我正在尝试应用会计格式,其中$ 0显示为$ -而不是$0.00$ -格式非常重要,因为它可以让您在比较数字集时查看并查看哪些列“绑定”。当某些零显示为$0.00而其他零显示为$ -时,这将更加困难。

例如,

╔══════════════════════════════════════════════╦══════════╗
║                   Formula                    ║  Result  ║
╠══════════════════════════════════════════════╬══════════╣
║ = 1-0.1-0.1-0.1-0.1-0.1-0.1-0.1-0.1-0.1-0.1  ║  $ 0.00  ║
║ =-1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1  ║  $(0.00) ║
║                                           0  ║  $   -   ║
╚══════════════════════════════════════════════╩══════════╝

我希望所有三个公式的结果显示为$ -。有没有办法强迫这种情况发生?也许有一种方法可以强制数据透视表中的总和舍入到最近的便士(即百分之一)?

1 个答案:

答案 0 :(得分:1)

尝试将公式更改为此值,使其舍入到最接近的10位(如果需要更高精度,则将最后1更改为更大的公式)。

= round(1-0.1-0.1-0.1-0.1-0.1-0.1-0.1-0.1-0.1-0.1, 1)

编辑: 如果您无法更改公式,您还可以使用自定义显示格式对于以下行的结果:

[<0.05]"-";[>-0.05]"-";$0.00

我没有测试过这个,但你应该明白这个想法。