使用带有Excel表的结构化引用

时间:2015-06-28 10:28:08

标签: excel excel-2010 excel-2013

我希望问题的标题是正确的。 我试着举个例子。 假设我有2个表(" table1"," table2"),它们在结构上是相同的(比如3列" FirstName"," LastName& #34;,"年龄")。

如果我想获取特定表中的数据(table1中某个人的年龄),我知道我可以执行类似vlookup或index(match())的操作。 但是,现在我遇到了棘手的部分,我希望在一个单元格中引用表名,当我拖动公式时,表名将会改变:

Age LastName    FirstName
18  Lname1      Fname1
18  Lname2      Fname2
20  Lname3      Fname3


Age LastName    FirstName
22  Lname4       Fname1
22  Lname5      Fname2
21  Lname6      Fname3

so, if I want to get the age of Fname2 from Table1 I would do something like this:

= INDEX(表1 [年龄],MATCH(" Fname2",表1 [姓名],0))

,但 我希望表名在另一个单元格中,这样我就可以拖动公式了。例如,将表名称放在单元格C3中,并执行以下操作:

= INDEX(C3 [年龄],MATCH(" Fname2",C3 [姓名],0))

这显然不起作用,但是有办法做到这一点吗?

提前致谢, NIMI

1 个答案:

答案 0 :(得分:0)

我假设有几个表具有相同的结构,并且您需要一个通用公式,它将适用于单元格C3中按名称指定的任何表。

  1. C3[Age]毫无意义。您希望将C3的内容与文本字符串"[AGE]"连接起来 - 这为您提供了一个有意义的文本字符串。
  2. 接下来,了解INDIRECT功能。这允许您将一些工作表(如单元格,范围等)指定为文本字符串,但将其视为单元格,范围等本身。
  3. 接下来,查找有关数组公式的信息。这是因为,如果您已成功导航上面的步骤1.和2.当您的参数(括号中的东西)试图传递一系列单元格(而不仅仅是单个)时,您会发现INDIRECT不起作用细胞)。在这种情况下,需要将其指定为数组公式,而不仅仅是一个简单的公式(这是Excel公式的默认值)
    1. 完成所有这些操作后,您将获得工具,知道您应该使用的内容,而不是问题中所述公式中的C3[Age]C3[FirstName]
  4. 您可以从Excel的帮助工具和/或在线搜索中轻松找到上述所有条款和功能。当然,我可以简单地给你一个合适的公式但是你会学到什么?没有痛苦,没有收获。