我对 Excel 一点都不在行,而且我还没有找到一个具体的答案。我正在寻找一个简单的公式来检索特定列中的最大值。我需要它从第 8 行开始搜索,例如 =MAX(A8:"?")。我以为它会是 * 或类似的东西,但似乎不是。我不知道最后一行会是什么,因为它会有所不同。如何在事先不知道的情况下将公式中的第二个变量指定为列中的最后一行?
答案1
尝试创建一个“动态命名范围”。如果你有从 A8 向下的连续数字数据,那么可以定义为
=OFFSET($A$8,0,0,COUNT($A$8:$A$1048576))
[Excel 将添加工作表名称]
如果将该范围命名为数据,那么您可以简单地使用
=MAX(Data)
DNR 也可能有助于其他计算
在 Excel 2007 或更高版本中,您还可以将数据转换为table
,然后可以引用表格中的特定列,该列的大小会随着表格大小的增加而增加。
有关动态命名范围的一些信息如下:http://www.contextures.com/xlNames01.html
答案2
与 Barry 的解决方案类似,但更简洁一些(我认为)。
=MAX(OFFSET($A:$A,7,0,COUNT($A:$A)))
答案3
它很丑,但我会使用:=MAX(A8:A1048576)
答案4
Excel 中的简单方法:
=MAX(A8:A1048576)
在 VBA 中创建 UDF。这允许动态偏移,并将对其所在的列求和:
Function SumColumn(offset As Double)
Dim Data As Range
Set Data = Application.Caller.EntireColumn.Resize(Application.Caller.EntireColumn.Rows.Count - offset, 1).offset(offset, 0)
SumColumn = Application.WorksheetFunction.Sum(Data)
End Function