0

Excel / 数学の達人への質問です。

循環参照のある数式に基づく計算がうまくいきません。計算は Excel ワークシートで行われました。

Excel ファイルから次の方程式を導き出しました。

= 240000

b = 1400 + c + 850 + 2995

c = CEIL( ( a + b ) * 0.015, 100 )

反復後、A+B の合計は 249045 (b = 9045) になるはずです。

Excel ファイルでは、これにより循環参照が提供され、4 回の反復が許可されるように設定されています。

私の問題: AS2 で計算を再作成し、4 回繰り返します。

私はこの問題を分解できるほど数学が得意ではありません。

誰でも私を助けることができますか?

編集:変数 a の数値の書式を変更しました。申し訳ありませんが、私は DK 出身で、ピリオドを 1000 単位の区切り記号として使用しています。混乱を避けるために削除しました:-)

2 番目の編集: 3 番目の式、C は Excel の CEIL() 関数を使用して、数値を最も近い 100 分の 1 に丸めます。

4

2 に答える 2

0
function calcRegistrationTax( amount, iterations ) {

    function roundToWhole( n, to ) {

        if( n > 0 )
            return Math.ceil( n/ to ) * to;
        else if( n < 0)
            return Math.floor( n/ to ) * to;
        else
            return to;
    }

    var a = amount;
    var b = 0;
    var c = 0
    for (var i = 0; i < iterations; i++){           
        b = basicCost + ( c ) + financeDeclaration + handlingFee;       
        c = ( a + b ) * basicFeeRatio;
        c = roundToWhole( c, 100 ); 
    }

    return b;
}

totalAmount = 240000 + calcRegistrationTax( 240000, 4 ); // This gives 249045

助けてくれたベンジャミンのおかげで、これはそれをしました。

于 2011-03-30T10:48:39.693 に答える
0

アクションスクリプトはわかりませんが、次のようにしたいと思います。

a = 240000
c = 0
for (i = 0; i < 4; i++){
    b = 1400 + c + 850 + 2995
    c = (a + b) * 0.015
}

ただし、cの初期値に何を使用するかを決定する必要があります。上記を実行すると、反復= 4、c = 3734.69 ...でExcelを取得した場合と同じ値が取得されるため、Excelは0を使用すると想定します。

「A+Bは249045であるはずです」の値はどこで得られますか?Excelおよび上記のASでは、bはこれらの値で8979にしか達しません。

于 2011-03-24T14:30:26.487 に答える