使用max / min函数记住Excel中动态数据的高点/低点

时间:2011-10-04 11:40:13

标签: excel excel-formula

我在Excel中显示了动态数据。数据本身是使用来自外部应用程序的COM提取的,它基本上是随时间变化的数字(例如,从天气网站收到的外部温度)。

在没有使用VBA和宏的情况下,是否有一些方便的方法来存储在某段时间中观察到的值的MIN / MAX()?使用像max_cell这样的=IF(data_cell>max_cell, data_cell, max_cell)中的简单公式给出了循环引用。

2 个答案:

答案 0 :(得分:3)

如果你打开Iteration,那么循环引用将连续正常工作

而不是你可以在A1中使用的IF(其中A1是max_cell,A2 data_cell)

=MAX(A1,A2)

启用迭代

  • 在Excel 2003中,从“工具”菜单中选择“选项”。 2.在“计算”选项卡中,选择“迭代”复选框,然后单击“确定”。
  • Iteration xl2007
  • Iteration xl2010

答案 1 :(得分:1)

我感谢您要求提供非VBA解决方案,但我会提供一个解决方案,因为实施和理解它非常简单。无论你是否想要使用它,我都会留给你。

假设您的数据在工作簿的Sheet1中按如下方式组织:

    A    B    C
1   Temp Max  Min
2   25   32   14

以下代码会在Max更改时更新MinTemp

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim temp As Range, max As Range, min As Range

    Set temp = Range("A2") //Change for your specific set-up
    Set max = Range("B2")  //Change for your specific set-up
    Set min = Range("C2")  //Change for your specific set-up

    If Not Intersect(temp, Target) Is Nothing Then
        max = WorksheetFunction.max(Target, max)
        min = WorksheetFunction.min(Target, min)
    End If
End Sub

为清楚起见,要从工作表添加此代码:

  1. 打开VB编辑器( ALT + F11
  2. Project Explorer 中双击 Sheet1
  3. 选择左侧下拉菜单中的Worksheet,然后右下角的Change下拉列表