【问题标题】:Excel 2016 - Reference specific row in tableExcel 2016 - 引用表中的特定行
【发布时间】:2019-11-21 08:29:26
【问题描述】:

尝试使用 Microsoft 的新表引用系统,使用表名、@'s 和 #'s 来引用我表中的特定行。我能找到的only 文档和示例告诉我如何引用特定列,或引用预制的标题或总计行。

我遇到了每个来源都称为“@ 或 [#This Row]”的东西,但我不知道这意味着什么,并且将 @ 放在我的行名之前不起作用...

[删除了 ascii 表,简化如下]

我可以使用旧的参考系统,但我所有的其他公式都使用新的,为了统一起见,我想使用它,只是为了一个简单的事实,天哪,我应该能够参考像这样的行这个!

编辑:我的公式与表格位于不同的选项卡中。我可以使用新的表引用系统来仅引用预定义的“特殊”行,例如 Totals 行。但是当我想引用特定行而不是花哨的总计行时,我必须使用旧的引用方法'[tab_name]'![XY]

这是我的公式,它在单独的标签中引用“杂货”表中的总计行,而不是我的公式。如您所见,我可以很好地使用Table_Name[[#Totals],[Column_Name]] 语法:

但我不知道如何具体引用该表中的“Costco”行 - Excel 自动使用旧语法:

这是供参考的表格:

Excel 2016 真的没有办法在这个新系统中引用行吗?这在设计上似乎是一个相当大的疏忽......

【问题讨论】:

  • 您是否可以切换“列”和“行”?

标签: excel excel-formula


【解决方案1】:

使用 INDEX() 函数,其中命名表是“数组”的输入。然后,您只需为具有一列的表指定行,或为 n x m 表指定行和列。

您还可以将表中的一个字段指定为数组,然后仅指定行号。

例如,如果您有一个名为“Birthdays”的表,其中包含“Name”和“Birth year”列: "Birthdays" table

以下两个语法选项可用于返回“出生年份”下的第二个值:

=INDEX(生日,2,2)

=INDEX(Birthdays[Birth year],2)

【讨论】:

  • (我也很沮丧,因为没有明确的 Excel 指导)
【解决方案2】:

我想你指的是这个:

Column C 我的表正在使用您指定的“@”引用。 “@”符号是自动添加的(或可以手动添加),表示我希望我的表中的数据来自我所在的完全相同的行。换句话说,如果我将公式输入到表的Row 3 中,并且我的数据位于表的Row 3 中,“@”将有效地为我提供来自行@、列[名称](或[@A][@B] 在我的示例中)。


如果您在表格外部输入公式并且至少在两列之外,您的公式将如下所示(注意:我的新公式距离表格三列):

将表格名称添加到引用中,类似于在不同工作表上输入公式时添加工作表名称的方式。将其视为公式的表达方式,我住在/在MyTable。然后就像上面一样,用“@”符号引用数据位置。

关键是使用与您输入的公式在同一行的表格中的数据(例如,如果您的公式输入到Row 3,则您的公式必须使用表格的Row 3中的数据;否则“@”引用不起作用)。

【讨论】:

  • 请看我的编辑。我的公式与它们引用的表格位于单独的选项卡中。
  • 我认为您误解了表格的设置方式。列可以视为字段,而行可以视为记录。每个记录可能对每个字段都有一个值,并且记录可以连续添加,而字段通常保持静态。然而,Excel 不是数据库,不能指望它像数据库一样完美地执行(这是您想要的,通过“键”引用一行;如果 Excel 这样做,它会是主要记忆力差)。话虽如此,是的,Excel 可以使用查找来处理您的请求。试试=INDEX(Groceries,MATCH("Costco",Groceries[Store],0),2)
  • 好吧,Excel 似乎确实会做这种事情,但仅限于某些“特殊项目标识符”,如 Totals 和 Header 行。将这种行引用功能扩展到任何行实际上会增加多少负担?但我想这超出了问题的范围 - 它出现的答案是“Excel 做不到”......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-23
  • 2015-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-16
相关资源
最近更新 更多