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

时间:2023-08-20 12:35:35 

有时可能会遇到这样的问题:在一个数值不断改变的区域中,如何求出该区域中的历史最大值或最小值?例如在某个单元格中包含不断变动的股票价格,需要在另一单元格中显示该股票曾经到达的最大股价。如果直接用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))

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

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

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

=MAX(B1,A1:A20)

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

标签:区域,单元格,数值,最大值,Excel函数
0
投稿

猜你喜欢

  • win8和win10系统哪个玩游戏好区别对比

    2023-03-15 21:28:02
  • 如何在Excel2007中快速查看文档的保存位置

    2023-03-04 19:08:45
  • excel【#NUM!】错误及解决办法

    2023-06-17 15:56:45
  • Win10设置电脑休眠时间的详细步骤

    2023-12-12 13:07:40
  • 用演示动画快速调整WPS表格列宽和行高的两种方法

    2022-04-15 10:20:07
  • surveyor.exe - surveyor是什么进程

    2022-09-08 07:00:15
  • 更新Win10 10547后Office excel无法关闭怎么办?

    2023-08-04 13:43:26
  • Office 2007 ed2k word打开很慢怎么解决?

    2023-11-09 08:08:16
  • ppt中怎么让文字以动画的形式一个一个的出现?

    2023-06-23 17:01:00
  • wps ppt如何设置音乐循环播放

    2022-03-30 18:50:08
  • PS新手教程-如何使用PS把拍的照片做成复印件效果

    2023-02-10 13:37:04
  • win7旗舰版怎么设置开机密码?

    2022-07-30 16:04:48
  • 升级安装win10正式版系统后音响插口没声音怎么回事?如何解决?

    2023-06-09 19:59:44
  • win10如何快速关闭所有程序?

    2022-04-16 02:34:10
  • 紫光拼音输入法崩溃之后的解决方案

    2023-04-19 20:58:09
  • 怎么用SUMPRODUCT在WPS表格2013中进行数据统计

    2023-11-08 21:40:22
  • 优看侠APP观看优酷视频的具体操作教程

    2022-02-26 12:16:30
  • 连续输错 10 次密码自动抹掉数据,需要多久才能触发?

    2022-04-24 10:48:43
  • Word控件怎么添加?Word插入控件的方法

    2023-07-24 18:09:45
  • Win10快捷键模式怎么撤出?Win10快捷键模式撤出教程

    2023-02-08 09:51:25
  • asp之家 电脑教程 m.aspxhome.com