Excel函数-Can';I don’我想不出所需的方程式
我正在使用循环计算每年增加15%后的期末租金。 这个很好用Excel函数-Can';I don’我想不出所需的方程式,excel,vba,math,Excel,Vba,Math,我正在使用循环计算每年增加15%后的期末租金。 这个很好用 Private Sub Worksheet_Change(ByVal Target As range) On Error GoTo ErrorHandler '<--| be sure to catch any error and enable events handling back Select Case Target.Address Case "$F$15" '
Private Sub Worksheet_Change(ByVal Target As range)
On Error GoTo ErrorHandler '<--| be sure to catch any error and enable events handling back
Select Case Target.Address
Case "$F$15"
'Recalculate as necessary Using Looping
amount = range("F12").Value
For counter = 1 To range("F15").Value
Debug.Print counter;
amount = amount + (range("F12").Value * 0.15)
Next
range("F16").Value = amount
Private子工作表\u更改(ByVal目标作为范围)
关于Error GoTo ErrorHandler',我已经使用循环方法和非循环方法重构了您的代码:
Private Sub Worksheet_Change(ByVal Target As range)
On Error GoTo ErrorHandler '<--| be sure to catch any error and enable events handling back
Dim factor As Double
Dim period As Integer
Dim amount As Double
Select Case Target.Address
Case "$F$15"
period = Range("F15").Value
amount = Range("F12").Value
'Recalculate as necessary Using Looping
factor = 1
For counter = 1 To period
Debug.Print counter;
factor = factor + 0.15
Next
Range("F16").Value = amount * factor
'alternate method without looping
Range("F16").Value = amount * (1 + period * 0.15)
'which can also be written in VBA as
[F16] = [F12] * (1 + [F15] * 0.15)
Case "$F$21"
period = Range("F21").Value
amount = Range("F19").Value
'Recalculate as necessary Using Looping
factor = 1
For counter = 1 To period
factor = factor + 0.15
Next
Range("F20").Value = amount / factor
'alternate method without looping
Range("F20").Value = amount / (1 + period * 0.15)
'which can also be written in VBA as
[F20] = [F19] / (1 + [F21] * 0.15)
Private子工作表\u更改(ByVal目标作为范围)
关于Error GoTo ErrorHandler',我已经使用循环方法和非循环方法重构了您的代码:
Private Sub Worksheet_Change(ByVal Target As range)
On Error GoTo ErrorHandler '<--| be sure to catch any error and enable events handling back
Dim factor As Double
Dim period As Integer
Dim amount As Double
Select Case Target.Address
Case "$F$15"
period = Range("F15").Value
amount = Range("F12").Value
'Recalculate as necessary Using Looping
factor = 1
For counter = 1 To period
Debug.Print counter;
factor = factor + 0.15
Next
Range("F16").Value = amount * factor
'alternate method without looping
Range("F16").Value = amount * (1 + period * 0.15)
'which can also be written in VBA as
[F16] = [F12] * (1 + [F15] * 0.15)
Case "$F$21"
period = Range("F21").Value
amount = Range("F19").Value
'Recalculate as necessary Using Looping
factor = 1
For counter = 1 To period
factor = factor + 0.15
Next
Range("F20").Value = amount / factor
'alternate method without looping
Range("F20").Value = amount / (1 + period * 0.15)
'which can also be written in VBA as
[F20] = [F19] / (1 + [F21] * 0.15)
Private子工作表\u更改(ByVal目标作为范围)
关于Error GoTo ErrorHandler“我只是想澄清一下,在我看来,你并没有将15%的增长复合起来。如果是两年,你加30%。三年内你增加45%。对吗?这就是你想要的吗?从你的代码来看,你基本上是在做结束租金=开始租金*(1年以上*费率)
。要获得起始租金,只需使用“起始租金=终止租金/(1+年*费率)`F16=F12*(1+F15*0.15)
和F20=F19/(1+F21*0.15)
然而,由于租金每年都要增加,你应该将上一年的租金增加15%,即amount=amount+(amount*0.15)
for循环在计算最终租金(F16)方面运行良好。我希望是单利而不是复利。我明天会看看夜行爬虫“结束租金=开始租金*(1+年*费率)”是否给出了相同的答案。(这似乎是我不需要for循环来完成这项工作。然后我将尝试“F20=F19/(1+F21*0.15)”如果我不知道F20,这就是我想知道的。我的数学技能很粗略,这就是为什么我开始使用循环的原因。谢谢。明天需要这样做。只是要明确一点,在我看来,你并没有把15%的增长加起来。如果是2年,你加30%。3年,你加45%。这是正确的吗?你是这么认为的吗想要?从你的代码中,你基本上是在做end\u rent=start\u rent*(1+年*费率)
。要获得起始租金,只需使用`start\u rent=end\u rent/(1+年*费率)`F16=F12*(1+F15*0.15)
和F20=F19/(1+F21*0.15)
然而,由于租金每年都要增加,你应该将过去几年的租金增加15%,即金额=金额+(金额*0.15)
我的for循环在计算期末租金(F16)时运行良好。我希望它是单利而不是复利。我将在明天查看夜行侠“结束租金=开始租金*(1+years*rate)”给出了相同的答案。(这似乎是我不需要for循环来完成这项工作。然后我将尝试“F20=F19/(1+F21*0.15)”“如果我不知道F20,这就是我想要弄清楚的。我的数学技能很粗略,这就是为什么我开始使用循环。谢谢。明天需要这样做。”。