Excel Hates在表格格式中引用相同行的公式的定义名称,例如, [@ [TableColumnName]]

问题描述 投票:0回答:1

当我尝试制作表示表中本地或同一行的定义名称(公式>定义名称>名称管理器>等)时,例如= [@ [TableColumnName]],Excel不会让我说,“名称的语法不正确。”

我通过反复试验知道问题是我的引用框而不是定义名称的名称(如上面引用的错误消息所示)。

但是,我需要在同一个表行中包含对与定义名称中的当前行相关的字段的引用,以缩短我的公式。什么是最好的方式?有替代符号吗?

为什么?我正在尝试将我的Excel数组公式缩短为<255个字符,因此可以使用Range.FormulaArray以编程方式将它们放在VBA中。

excel formula named-ranges listobject excel-tables
1个回答
1
投票

我认为你不能像这样使用结构化引用来定义名称公式。

尝试:

=INDEX(Table1[#All],ROW(),1)

列索引1[TableColumnName]的列相同。如果该列位置可能是变量,则使用:

 =INDEX(Table1[#All],ROW(),MATCH("TableColumnName",Table1[#Headers],0))

并且,如果表可能从第1行以外开始(这可能是最适合不同类型的数据配置):

=INDEX(Table1[#All],ROW()-ROW(Table1[#Headers])+1,MATCH("TableColumnName",Table1[#Headers],0))
© www.soinside.com 2019 - 2024. All rights reserved.