2011-03-24 4 views
0

다음은 Excel/math-wizards에 대한 질문입니다.AS2 : 백분율 계산 (순환 참조 포함)을 통해 X 번을 반복하는 방법은 무엇입니까?

순환 참조가있는 수식을 기반으로 계산하는 데 문제가 있습니다. 계산은 Excel 워크 시트에서 수행되었습니다. I는 엑셀 파일로부터 다음 식을 차감 한

:

A = 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는 Excels CEIL() 함수를 사용하여 숫자를 가장 가까운 백분율로 반올림합니다.

+0

계산하려는 내용에 대해 자세히 알려주시겠습니까? b의 최종 값이 9045라는 것을 어떻게 알 수 있습니까? – Benjamin

답변

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 

이것은 Benjamin에게 도움을주었습니다.

0

나는 액션 스크립트를 모르지만, 난 당신이 원하는 생각 :

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

하지만 당신은 C의 초기 값을 사용할지 결정해야합니다. Excel에서 반복 횟수 = 4, c = 3734.69로 위와 같은 값을 얻을 때부터 Excel에서 0을 사용한다고 가정합니다 ...

"A + B가 있어야합니다. 249045 "가치? Excel과 위의 AS에서 b는 해당 값으로 만 8979에 도달합니다.

+0

도움을 주셔서 감사합니다! 내 질문에 약간의 부정확했다. 벤자민 덕분에 실제 문제와 해결책을 반영하기 위해 원래의 질문을 편집했습니다. – carlskov