excel 2010中迭代计算的概念及实例
所谓的迭代运算,说得简单点,迭代运算就是递归计算,或者也可以简单的称为循环运算。 进行迭代运算时可能会出现以下问题: 问题:整个表格中任何一个方格数据的更新都会引起B1的迭代更新,即导致B1的数据发生改变。 原因:Excel的函数和公式都是全局的,不论哪个方格数据的更新,当前表格中所有方格的数据都会重新计算并更新。 解决方法:把B1的无条件更新改为受限制的.选择B1,输入" =if(cell("address")="$a$1",a1 b1,b1)"。选择B1并向下拖动,可将迭代计算扩展到同列其它行,if函数的参数2和参数3能自动更新,参数1中的"$a$1"因为是字符串,所以不会自动更新,因此需要手动更改,比如第2行为=if(cell("address")="$a$1",a2 b2,b2),将$a$1改为$a$2即可,依此类推。 要注意:1.根据函数的限制条件,在A1方格输入数据后,按Enter键或TAB键都可以更新B1,但使用鼠标点其它方格,则B1不能迭代更新。 2.不要在某一个方格具有输入焦点时点击A1,因为这样会使B1迭代更新。 最后,小编给大家提供迭代运算的自定义函数 Function MyDD(i As Single) As Single i = i / 5 If i < 5 Then MyDD = i Else MyDD = MyDD(i) End If End Function |