2013-10-09 3 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.

EDIT: Я пропустил это в первый раз, но эта страница предполагает, что «внутренний механизм 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

Так создать свой алгоритм соответственно.

Смежные вопросы