参考该帖子,Excel 2010:在公式中创建没有工作表引用的命名范围,我想知道是否可以使用非挥发性函数来完成,因为我有 200 张纸来应用这种类型的公式。
问题描述:在名称管理器中,我使用此引用 =sum($O$1:$O$15) 创建了一个命名范围,Excel 会自动在 $O$1:$O$15 之前插入当前工作表名称。我需要将其保留为 $O$1:$O$15,以便在其他工作表上使用相同的引用。我不想为每个工作表创建一个命名范围。
如何才能让这个命名引用在任何工作表上工作而不使用易失性函数(例如间接方法)?
我尝试使用索引函数如 =sum(index($A:$XFD,1,15):index($A:$XFD,100,15)) 但 Excel 会自动将公式更改为 =SUM(INDEX('sheet'!$1:$1048576,1,15):INDEX('sheet'!$1:$1048576,100,15))
有任何好主意请提出。提前谢谢。
答案1
您可以在姓名经理使用类似符号
rng : =!A1:A20
地址前只有一个感叹号!
这样的名称指的是当前工作表,因此您可以在工作簿中的任何工作表中使用它,但不能在外部使用它(来自另一个工作表或工作簿)。
这样的符号只能在定义的名称中使用,而不能在单元格中的公式中使用。在单元格中,您只需使用不带限定符的地址。
答案2
可以使用这个简单的方法解决此问题:
- 使用这个公式
=INDIRECT("A1:A20")
。 - 假设给定的名称是 ALLRANGE。
- 您可以构建类似的进一步公式
=Sum(ALLRANGE)
。
- 请记住,使用名称管理器时,范围因为Named Range
必须工作簿。
-无论在何处使用,此名称ALLRANGE
始终适用。A1:A20
注意: 根据需要调整公式的单元格引用。