如何在Excel中用迭代计算求历史最大值

网友投稿 1029 2022-12-01

如何在Excel中用迭代计算求历史最大值

有时可能会遇到这样的问题:在一个数值不断改变的区域中,如何求出该区域中的历史最大值或最小值?例如在某个单元格中包含不断变动的股票价格,需要在另一单元格中显示该股票曾经到达的最大股价。如果直接用MAX函数,由于数值是不断变动的,MAX函数只会返回区域中当前数值的最大值而不是历史最大值。在Excel中,可以通过迭代计算来解决这个问题。

假如数值在A1:A20区域中,要在B1单元格中显示该区域中的历史最大值,我们可以用MAX函数计算区域A1:A20和B1单元格这两个区域中的最大值。但如果直接在F5单元格中输入公式:

=MAX(B1,A1:A20)

由于B1单元格中的公式引用了B1单元格自己,Excel会出现循环引用的提示,无法获得正确的结果。为避免出现这个问题,需要进行如下设置

Excel 2003:

单击菜单“工具→选项→重新计算”,勾选“迭代计算”,然后单击“确定”。

Excel 2007:

单击“Office按钮→Excel 选项→公式”,在“计算选项”区域中,勾选“启用迭代计算”选项。

这样,当A1:A20区域中的数值都为正数时,在B1单元格中输入上述公式后,会在B1单元格中得到A1:A20区域中的历史最大值。如果A1:A20区域中的数值都为负数,可以用下面的公式:

=IF(B1=0,MAX(A1:A20),MAX(B1,A1:A20))

如何在Excel中用迭代计算求历史最大值

上述公式中使用了IF函数,是因为如果A1:A20区域中的数值都为负数,直接使用公式

同理,如果要求出该区域中的历史最小值,在B1单元格中输入公式:

=IF(B1=0,MIN(A1:A20),MIN(B1,A1:A20))

=MAX(B1,A1:A20)

B1单元格中的数值将总是返回“0”,从而得不到正确的结果。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:excel如何查找某列中最大数值所在单元格地址
下一篇:excel如何在包含重复值的区域中计算唯一值的数量
相关文章