2016-07-26 9 views
1

これは私がこれは結果があるべきであるExcelの数式

fx = ROUNDUP(C17/((1-(1/(1+(C19/12))^(C18*12)))/(C19/12)),0) 

excel formula

を持っているExcelの数式です: the result

これは私が書いたJavaScript関数です。

function refreshRenoLoanCalculator() { 

    var amt = parseInt($('.calc-renoloan .principal-amount').val().replace(/,/g, ''), 10) 
    console.log(amt); //10 000 
    var rate = $('.calc-renoloan .loan-rate').val(); 
    console.log(rate); //0.0444 
    var tenure = $('.calc-renoloan .loan-tenure').val(); 
    console.log(tenure); // 5 

    var a = rate/100./12.; 
    console.log(a); 
    var b = 1. + a; 
    b = Math.pow(b, (tenure * 12)) - 1.; 
    console.log(b); 
    var FC = a/b + a; 
    FC = FC.toFixed(10); 
    console.log(FC); 
    var RP = amt * FC; 
    console.log(RP); 




    toolsSetCalculatedValue('.calc-renoloan .calc-result-installment', Math.ceil(RP).toLocaleString().split('.')[0]) 
    $('.calc-renoloan .results-container').slideDown(); 

} 

t彼は私がエクセル式から得ている結果を瞬間、javascript関数は同じではありません。どんな助けでも大歓迎です。

+1

あなたもプレーンでExcelの数式を追加することができますテキスト、コピー/フォーマットの目的のために? – boxmein

答えて

0

JSの等価計算はこのようになります:

var C17 = 10000; 
 
var C18 = 5; 
 
var C19 = 4.44; 
 

 
var interest = C19/1200; 
 
var foo = Math.ceil(C17 * interest/(1 - (Math.pow(1/(1 + interest), C18 * 12)))); 
 

 
console.log(foo);

主な違いは、Excel格納パーセント値として(* 12とは対照的に* 1200)金利の乗算であるフローティングとして01の間のポイント。

あなたは、あなたがこれに入力レートを変換する必要があり、エクセルと同様に計算することを好むだろう場合:

var C17 = 10000; 
 
var C18 = 5; 
 
var C19 = 0.0444; // Note the difference here 
 

 
var interest = C19/12; // and here 
 
var foo = Math.ceil(C17 * interest/(1 - (Math.pow(1/(1 + interest), C18 * 12)))); 
 

 
console.log(foo);

+0

ありがとうございます。これは完全に機能します。優れたものと同じ結果を得る。 –