使用最大值/最小值函数来记住Excel中dynamic数据的高/低

我有Excel中显示的dynamic数据。 数据本身是利用外部应用程序的COM来提取的,基本上是随时间变化的数字(例如,天气网站收到的外部温度)。

有没有一些方便的方法来存储MIN / MAX()在一段时间内观察到的价值而不使用VBA和macros? 在max_cell使用简单公式如=IF(data_cell>max_cell, data_cell, max_cell)给出循环参考。

如果你打开迭代,那么循环引用将连续工作

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

=MAX(A1,A2)

启用迭代

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

我很感谢你要求一个非VBA的解决scheme,但我会提供一个,因为它是相当微不足道的实施和理解。 不pipe你是否使用它,我都会留给你。

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

  ABC 1 Temp Max Min 2 25 32 14 

下面的代码将更新MaxMin每当Temp变化:

 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. select左侧下拉菜单中的Worksheet ,然后Change右侧下拉菜单中的Change