我在Excel中显示了动态数据。数据本身是使用来自外部应用程序的COM提取的,它基本上是随时间变化的数字(例如,从天气网站收到的外部温度)。
在没有使用VBA和宏的情况下,是否有一些方便的方法来存储在某段时间中观察到的值的MIN / MAX()?使用像max_cell
这样的=IF(data_cell>max_cell, data_cell, max_cell)
中的简单公式给出了循环引用。
答案 0 :(得分:3)
如果你打开Iteration,那么循环引用将连续正常工作
而不是你可以在A1中使用的IF(其中A1是max_cell,A2 data_cell)
=MAX(A1,A2)
启用迭代
答案 1 :(得分:1)
我感谢您要求提供非VBA解决方案,但我会提供一个解决方案,因为实施和理解它非常简单。无论你是否想要使用它,我都会留给你。
假设您的数据在工作簿的Sheet1
中按如下方式组织:
A B C
1 Temp Max Min
2 25 32 14
以下代码会在Max
更改时更新Min
和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
为清楚起见,要从工作表添加此代码:
Worksheet
,然后右下角的Change
下拉列表