2013-10-09 239 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

所以相應地創建你的算法。