Excel 的循环引用还是非常有用的呀! 使用 Excel 的不少朋友都可能碰见过这样的警告对话框: “Microsoft Excel 不能 计算该公式。公式中的单元格引用指向的是公式结果,从而构成循环引用??” 。所 谓循环引用,就是公式中直接或间接地引用了公式本身所在的单元格。这个对话框 存在某种程度的误导作用,往往使初接触的人产生“Excel 公式中不允许循环引用” 的错觉。其实,循环引用是非常有用的,下面举两个例子来说明它在迭代计算方面 的应用。 一、解如下线性方程组 ? 6 X 1 ? X 2 ? X 3 ? X 4 ? 2 X 5 ? 11 ? X ? 7 X ? X ? X ? 3 X ? ?7 2 3 4 5 ? 1 ? ? 2 X 1 ? X 2 ? 9 X 3 ? 2 X 4 ? X 5 ? 28 ? X ? 3 X ? X ? 10X ? 4 X ? ?62 2 3 4 5 ? 1 ? X 1 ? X 2 ? 4 X 3 ? 2 X 4 ? 13X 5 ? 88 ? 为了迭代计算,将方程组变形为迭代形式: ? X 1 ? (11? X 2 ? X 3 ? X 4 ? 2 X 5 ) / 6 ? X ? (?7 ? X ? X ? X ? 3 X ) / 7 2 1 3 4 5 ? ? ? X 3 ? (28 ? 2 X 1 ? X 2 ? 2 X 4 ? X 5 ) / 9 ? X ? (?62 ? X ? 3 X ? X ? 4 X ) / 10 1 2 3 5 ? 4 ? X 5 ? (88 ? X 1 ? X 2 ? 4 X 3 ? 2 X 4 ) / 13 ? 然后,分别以 A1、A2??A5 单元格代表变量 X1 、X 2 ??X5 ;分别在 A1、?? A5 单元格中输入:=(11-A2+A3-A4-2*A5)/6 、??=(88-A1-A2- 4*A3+2*A4)/13。出现警告对话框后,单击“取消”按钮;使用“工具→选项 →重新计算”菜单命令,在打开的选项对话框中设置:选定“自动重算” ;选定“反 复操作” ;设置“最多迭代次数” ,譬如 10000 次,最多为 32767 次;设置“最大误 差” ,譬如 0.000001;单击“确定”按钮后,即在 A1、A2??A5 单元格中显示出方 程组的五个未知数的解:1、2、3、-4、5。如果对计算结果不满意,还可以重复设 置“选项” ,再进行计算。 二、解如下的超越方程 X e -1=0 , 将其变换成迭代形式: X ? e x ?x , 使用 Excel 的函数 EXP(f), 再变换成:X=EXP(-X)。在 C2 单元格中输入:=EXP(-C2),重复上例的操作,即 可在 C2 单元格中得到方程的解 0.56714329。 以上操作步骤,都是以 0 为初值进行迭代计算的,这样计算不仅迭代次数要增 加很多,而且在某些情况下还可能搜索不到真正的解。迭代计算,往往都是用作图 等办法找出近似值作为迭代计算的初值。使用 Excel 的循环引用进行迭代计算,最 好也要使用初值。使用初值的操作步骤,对这个例子来说:先在 C1 单元格中输入 初值 0.5,在 C2 单元格中输入公式:=EXP(—C1),确定后得 0.60653066;再将 C1 单元格改成:=C2 构成循环引用,然后再按上述步骤进行操作。 ???????????????????????????????????? 附录: ????????????????????????????????????