AS2:如何通过百分比计算迭代X次(包含循环引用)?
这是Excel /数学向导的问题。AS2:如何通过百分比计算迭代X次(包含循环引用)?
我很难做一个计算,它是基于一个循环引用的公式。计算已在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,我们使用时段作为千位分隔符。我已经删除,以避免:-)
第二编辑困惑:第三个等式,C用擅长CEIL()函数将数字舍入到最近的百分位。
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
这样做,感谢本杰明的帮助。
我不知道动作脚本,但我想你想:
a = 240000
c = 0
for (i = 0; i < 4; i++){
b = 1400 + c + 850 + 2995
c = (a + b) * 0.015
}
但你需要确定使用什么C的初始值。我假设Excel使用0,因为我得到相同的值,当我运行上述,因为我得到的Excel中迭代= 4,c = 3734.69 ...
你从哪里得到“A + B应该是249045“价值?在Excel和上面的AS中,b只有这些值才能达到8979。
感谢您的帮助!我在我的问题有点unprecise。我已经编辑我原来的问题,以反映实际的问题和解决方案,我发现,这要归功于本杰明。 – carlskov 2011-03-30 10:42:29
你能否提供更多的细节,以你试图算得了什么?你怎么知道b的最终值是9045? – Benjamin 2011-03-24 17:06:08