2013-10-09 240 views
3

我正在将计算模型从Excel转换为编程语言,并且希望保持结果与Excel类似。计算百分比,如Excel饼图

具体而言,我想确保饼图百分比在显示为整数时加起来为100。

实施例:

  • 考虑集合:[ 7, 13, 58, 43 ]
  • 饼图中的百分比应该是[ 5.79%, 10.74%, 47.93%, 35.54% ]
  • 将数字整数后得到[ 6%, 11%, 48%, 36% ]。这些总计为101.
  • 根据this page,Excel应该从最大的数字中减去1%。
  • 这个信息显然不适用于Excel 2007,因为我看到的实际数字是[ 6%, 11%, 48%, 35% ],所以它从第二大的数字中减去1。

我发现this page似乎承认这种情况很奇怪,但实际上并没有Excel使用的算法。

编辑:我错过了第一次,但该页面意味着“内部机制Excel使用的百分比误差最小以类似的方式,以最小二乘最小化数据集之间的误差的方法描述它的回归线“。不知道这只是一个疯狂的猜测或更多。

任何人都可以点亮这件事吗?

(强制链路:Save the Pie for Dessert

回答

1

据我知道这将减1从具有最小小数部分等于或大于0.5%大的数量。在这种情况下,第二大数字只有0.54%,其他人都有更大的数字。

例子:

example rounded total of 101

此外,当你总去99%,你应该选择与最大的小数部分小于0.5%,数值越小。

例子:

example rounded total of 101

所以相应地创建你的算法。