在Excel
的引擎盖下,你认为如果我使用命名范围,比如说MAX
计算,它会更有效率,例如
我的命名范围myNmdRang
为A1:Z20000
,其余部分没有数据。 A列包含一些数值。命名范围明天可能会调整为500k行或仅100周。
我这样做是为了在第1列找到MAX
:
Max("A:A")
以下是否更高效和/或占用更少的存储空间? (这可以证明)
Max(index(myNmdRang,0,1))
答案 0 :(得分:2)
据我了解,您计划使用的命名范围比查看整个列更有效,因为您只是查看较少的条目。
要节省手动更新字段的时间,您可以执行以下操作:
您可以动态指定名称范围的长度。也就是说,它的长度将根据条目数自动调整。
假设没有条目且A列中唯一的东西是数字,而不是使用= A1:Z2000作为您创建命名范围的定义范围,您可以使用:
=offset($A$1,0,0,counta(A:A),26)
counta(A:A)将查看数字条目的数量并定义命名范围的长度。
因此,不是使用max(A:A)来查看第1列的全部内容,而是可以为第1列创建另一个命名范围,例如MyFirstRange,或者您可以将其定义的范围放入max命令中,会做这样的事情:
define a named range as:
MyFirstRange = offset($A$1,0,0,counta(A:A),1)
=Max(MyFirstRange)
OR if you dont want to name another range
=max(offset($A$1,0,0,counta(A:A),1))
我知道这并不能完全说明两种方法的效率。它只会让您每天手动重新定义您的命名范围。我希望能帮到你。
答案 1 :(得分:0)
这可能对TS没有帮助,因为我的回答迟了一年多,但为了将来的参考,我倾向于使用:
MAX(myNmdRang A:A)
将给出myNmdRang和A列子集的最大值。
一些优点:
缺点是如果命名范围在另一张纸上,则公式不起作用,因为A:A始终是活动纸张上的A列。