我想使用 =MAX() 函数,但是要从单元格值中获取起始和结束单元格:
给出像这样的单元格值:
A1 = 110(行开始)
A2 = 130(行结束)
A3 = 4(列ID即“D”)
使用此函数,最大函数应变为
MAX(D110:D130)
当我更改单元格值时,MAX使用的范围应更改。有没有办法做到这一点? INDIRECT似乎很有用,但我不能让它工作。 我在同一个工作表上使用所有内容。
谢谢!
给出像这样的单元格值:
A1 = 110(行开始)
A2 = 130(行结束)
A3 = 4(列ID即“D”)
使用此函数,最大函数应变为
MAX(D110:D130)
当我更改单元格值时,MAX使用的范围应更改。有没有办法做到这一点? INDIRECT似乎很有用,但我不能让它工作。 我在同一个工作表上使用所有内容。
谢谢!
XFD
是工作表中的最后一列,因此$A:$XFD
表示“选择从 A 列到 XFD 列的所有列”,而1048576
是工作表中的最后一行,所以$1:$1048576
表示“选择从第 1 行到第 1048576 行的所有行”,因此它们都指的是同一个范围,即整个工作表。我通常只输入$A:$XFD
,因为这样打起来更短哈哈。 - ImaginaryHuman072889$A:$XFD
和$1:$1048576
是整个工作表的引用(与写成$A$1:$XFD$1048576
相同)。A1
将给出行号,A3
将给出列号。=INDEX($1:$1048576,3,4)
将是对 D3 的引用 - 第 3 行,第 4 列。第二个 INDEX 执行相同的操作,以返回一个第二个单元格,从而给出一个完整的起始/结束范围。MAX
然后返回该范围中的最大值(抱歉,分心了,没有意识到 @ImaginaryHuman072889 已经回答了)。 - Darren Bartrup-CookINDEX
函数中引用整个工作表是相当罕见的。在INDEX
中使用的范围通常是整行或整列(例如$A:$A
)。或者有时只是一个小矩阵(例如$A$1:$C$3
)。一个范围甚至不必是对单元格的引用。它可以是硬编码的(例如一个范围可以是{1;5;3}
)。即使在你这里的例子中INDEX(0,A1,A3)
,0
也是一个有效的范围。在使用INDEX
时必须指定一个范围。 - ImaginaryHuman072889