Как рассчитать процент от Excel с помощью JavaScript - PullRequest
0 голосов
/ 20 мая 2019

У меня есть ячейка (G28) в Excel со значением 439.
У меня есть другая ячейка, которая рассчитывает это: (G28 / (100% -12% -15%)) * 12%
Результат в Excel - 72.
Я пытаюсь воспроизвести такой же расчет в javascript.

Вот мой код:

    var total_net_area = 439;
    var result = Math.round((total_net_area/(total_net_area-(total_net_area/100*12)-(total_net_area/100*15)))*1.12;
    console.log(result);

Ожидаемый результат должен быть 72, но это не то, что я получаю на JavaScript.

Спасибо,

1 Ответ

1 голос
/ 20 мая 2019

(G28/(100%-12%-15%))*12%

При конвертации из Excel одной идеей является сделать то же самое.Вы всегда можете перестроить позже.Такие вещи, как g28, почему бы не сделать вашу переменную g28, а потом, когда все работает, как ожидалось, переименовать и т. Д. Для простой формулы, как ваша, это может быть излишним, но при преобразовании формулы больших таблиц Excel это то, что я склонен делать.

Теперь 12%, давайте просто сделаем простую функцию здесь, да, вы можете просто разделить на 100 встроенных, как это означает процент, per / cent.Но держать как можно ближе к Excel простую функцию было бы удобно ..

const pc = c => c / 100;

Так что все вместе.

const G28 = 439;

const pc = c => c / 100;

const result = (G28 / (pc(100) - pc(12) - pc(15))) * pc(12);

console.log(result);

Как только вы узнаете, что он работает как положено, подумайте о том, чтобы изменить, скажем, G28 на total_net_area и т. Д., Этот многопроходный тип программирования может показаться излишним, но вы можетеУдивлен, как это предотвращает глупые ошибки.Как указано в других комментариях, 1.12 (112%) - это не то же самое, что 0,12 (12%)

...