EXCEL之如何循环计算?高手指点下
发布网友
发布时间:2022-05-10 06:36
我来回答
共5个回答
热心网友
时间:2023-11-14 13:43
用公式:
一楼"不亮的灯吴"的改进:获取序列后在A1,B1中自动显示需要的结果,(每次C1,D1更改后A1,B1自动更改为需要的数值)
在单元格A1中用公式:
=VLOOKUP(TRUE,A2:D11,3,FALSE)
在单元格B1中用公式:
=VLOOKUP(TRUE,A2:D11,4,FALSE)
其余步骤:
在a2单元格中输入 =IF(C1<0,TRUE,C1)
b2单元格输入=D1
c2单元格输入=IF(C1<0,C1,A2-B2)
d2单元格输入=IF(C1<0,D1,A2/B2)
然后把a2,b2,c2,d2单元格都选中,在右下角往下拖拽足够多(100个左右)
热心网友
时间:2023-11-14 13:44
用vba比较容易实现,就是一个循环函数就能解决。
如果用公式的话,你看这样是否可以满足需求。
在a2单元格中输入 =IF(C1<0,"",C1)
b2单元格输入=D1
c2单元格输入=A2-B2
d2单元格输入=A2/B2
然后把a2,b2,c2,d2单元格都选中,在右下角往下拖拽,多拽一点,你会看到在a列某行处会有空值,这个地方就是你需要得到的数据了。
热心网友
时间:2023-11-14 13:44
Excel里面通过迭代计算可以实现有条件的循环,但你的问题用excel公式不好实现,还是用代码吧:
Sub 循环()
Dim a As Double, b#, c#, d#
a = Range("A1").Value
b = Range("B1").Value
Do Until a < 0
c = a - b
d = a / b
a = c
b = d
Loop
Range("A1").Value = a
Range("B1").Value = b
End Sub
结果是A1=-0.132198731404159...
B1=0.931944679349769...
热心网友
时间:2023-11-14 13:45
EXCEL公式不大可能
在Visual Basic编辑器中输入如下代码:
'-----------------------------------------------------
Public Function LOPAB(ByVal Cell1 As Range, ByVal Cell2 As Range) As String
Dim a, b, c, d As Double
a = Cell1.Value
b = Cell2.Value
Do
c = a - b
d = a / b
a = c
b = d
Loop Until c < 0
LOPAB = a & "," & b
End Function
'---------------------------------------------
在某单元格中输入如下公式:
=LOPAB(A1,B1)
收工!
热心网友
时间:2023-11-14 13:45
菜单栏,工具,选项,重新计算,勾选迭代计算,最多迭代次数设为几次就循环引用几次